AngularJs——Function篇(一)

1.angular.lowercase/angular.uppercase

//将特定字符串转化为小写/大写的方法

 1 <!DOCTYPE html>
 2 <html >
 3 <head lang="en">
 4     <meta charset="UTF-8">
 5     <title>angular_function</title>
 6 </head>
 7 <body ng-app="myapp">
 8 <div  ng-controller="mycontroller">
 9 <input  type="text" ng-model="namee" >
10 {{NAME}}~~~{{namee}}
11 </div>
12 </body>
13 <script src="angular.js"></script>
14 <script>
15     var App=angular.module("myapp",[]);
16     App.controller("mycontroller",["$scope",function($scope){
17         $scope.$watch("namee",function(name){
18             $scope.NAME = angular.uppercase(name);
19         })
20     }])
21     </script>
22 </html>

其中$scope.$watch是事件监听,任何变化都会触发这个方法。namee是监听的绑定数据,name是对应namee的参数。

2.angular.foreach

//遍历

A.如果循环一个数组values,那么应该这样写:

Angular.foreach(values,function(val){

})

Val就是被循环出来的单个值;

  

B.如果是一个JSON,只需要循环出他的每一个属性和值:

Angular.foreach(person,function(value,key){

Alert(key+”:”+value);

})

然后就会循环出每一对属性和值,注意value和key的顺序;

 

C.如果要把循环出来的属性键值对放进一个数组中,应该这样写:

Angular.foreach(person,function(value,key){

This.push(key+”:”+value)

//如果里面没有写array的话,上面就应该写成array.push

},array

);

3.angular.extend

//继承

把一个对象A中的属性值附加到另一个属性B中,如果需要B和A完全相同,可以定义空对象{};

B=angular.extend({},A);

另外,一个对象可以继承多个对象的属性,但是不支持递归复制,这点我还不是很理解,因为进行如下代码时,子类都可以复制到。

1 var obj1 = {name:"tom", password:"123456",person:{isPerson:"y",object:{name:"obj"}}};
2 
3     var dst = angular.extend({sex:"female"},obj1);
4     alert("dst:"+JSON.stringify(dst));
5     alert("obj1:"+JSON.stringify(obj1));

 

dst中完全继承了obj1中的所有属性值,所以对递归复制我不是很理解。

题外话:将对象转换为Json格式,在AngularJs中可以用angular.toJson(obj);也可以用代码中的JSON.stringify(obj),这是js表达方式,也没有错。

 

posted @ 2015-03-24 09:56  lynn_zhang  阅读(3370)  评论(0编辑  收藏  举报