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表達方式,也沒有錯。