abstract:1.AngularJS 表達式與JavaScript對比類似于 JavaScript 表達式,AngularJS 表達式可以包含字母,操作符,變量。與 JavaScript 表達式不同,AngularJS 表達式可以寫在 HTML 中。與 JavaScript 表達式不同,AngularJS 表達式不支持條件判斷,循環(huán)及異常。與 JavaScript 表達式不同,AngularJS 表達式支持過濾
1.AngularJS 表達式與JavaScript對比
類似于 JavaScript 表達式,AngularJS 表達式可以包含字母,操作符,變量。
與 JavaScript 表達式不同,AngularJS 表達式可以寫在 HTML 中。
與 JavaScript 表達式不同,AngularJS 表達式不支持條件判斷,循環(huán)及異常。
與 JavaScript 表達式不同,AngularJS 表達式支持過濾器。
2.調(diào)用指令的方式
元素名
屬性
類名
注釋
3.限制使用指令
var app = angular.module("myApp", []); app.directive("testDirective", function(){ return { restrict: "A", template: "<h1>測試自定義指令!</h1>" }; });
restrict值可以是以下幾種:
E 作為元素名使用
A 作為屬性使用
C 作為類名使用
M 作為注釋使用
restrict 默認值為EA,即可以通過元素名和屬性名來調(diào)用指令。
4.ng-show
<form ng-app="" name="myForm">
Email: <input type="email" name="myAddress" ng-model="text">
<span ng-show="myForm.myAddress.$error.email">不是一個合法的郵箱地址</span>
</form>
以上實例中,提示信息會在ng-show 屬性返回true的情況下顯示。
5.ng-model 指令根據(jù)表單域的狀態(tài)添加/移除以下類:
ng-empty
ng-not-empty
ng-touched
ng-untouched
ng-valid
ng-invalid
ng-dirty
ng-pending
ng-pristine
6.作用域 $scope
創(chuàng)建控制器時,將$rootScope作為參數(shù)傳遞,可在應(yīng)用中使用:
View Code
7.控制器
AngularJS 控制器控制AngularJS應(yīng)用程序的數(shù)據(jù),是常規(guī)的JavaScript對象。
控制器可以有控制器屬性和方法;可在script標簽中定義也可以定義在外部文件中供其他文件通過script標簽引用。
控制器文件*.js:
angular.module("myApp",[]).controller("testControl", function($scope){ $scope.humans = [ {name:'Json', country:'America'}, {name:'Lili', country:'China'} ]; });
8.過濾器
過濾器 描述
currency 格式化數(shù)字為貨幣格式?! ?
filter 從數(shù)組項中選擇一個子集。
lowercase 格式化字符串為小寫。
orderBy 根據(jù)某個表達式排列數(shù)組。
uppercase 格式化字符串為大寫。
通過管道字符使用:表達式中添加過濾器 {{name | lowercase}}??墒褂枚鄠€,用管道字符隔開。
9.服務(wù) 如果要使用某個服務(wù),需要在controller定義時參數(shù)中聲明。
$location 服務(wù),返回當前頁面的URL地址。
$http服務(wù) 向服務(wù)器發(fā)送請求,響應(yīng)服務(wù)器傳過來的數(shù)據(jù)。
$http.get("hello.com").then(function(response){ $scope.something = response.data; });
$timeout服務(wù)類似于window.setTimeout
兩秒后do something
$timeout(function(){$scope.myHeader = "some thing";}, 2000);
$interval服務(wù) 類似JS的window.setInterval函數(shù)
使用:$interval(function(){//要執(zhí)行的操作},millisecond);
創(chuàng)建自定義服務(wù):
app.service('myService', function(){this.myFun = function(){}});
要使用自定義的服務(wù),需要在定義控制器的時候獨立添加。
app.controller('myControl', function($scope, myService){});