AngularJS 最常用指令的功能
在這裡我整理了一下 AngularJS 中常用到的指令,包含它們的書寫格式及指令的用法,功能。不過這裡的整理有些不完整,不過在後面的使用過程中會逐步的去完善,裡面有些知識點是摘錄自網路上的,但是我都去除錯檢驗程式碼的可行性,加以自己的理解去整理,有些部分加上了自己的理解。
第一 迭代輸出之ng-repeat標籤
ng-repeat讓table ul ol等標籤和js裡的陣列完美結合
- <ul>
- <ling-repeat="person in persons">
- {{person.name}} is {{person.age}} years old.
- </li>
- </ul>
你甚至可以指定輸出的順序:
- <ling-repeat="person in persons | orderBy:'name'">
第二 動態繫結之ng-model標籤
任何有使用者輸入,只要是有值的html標籤,都可以動態繫結js中的變數,
而且是動態繫結。
- <inputtype="text"ng-model='password'>
對於繫結的變數,你可以使用{{}} 直接引用
- <span>you input password is {{password}}</span>
如果你熟悉fiter,你可以很容易的按你的需要格式輸出
- <span>{{1288323623006 | date:'yyyy-MM-dd HH:mm:ss Z'}}</span>
第三 繫結點選事件之ng-click事件
使用ng-click你可以很容易的為一個標籤繫結點選事件。
- <buttonng-click="pressMe()"/>
當然前提是你要在$scope域中定義的自己的pressMe方法。
和傳統的onclick方法不同,你甚至可以為ng-click方法傳遞一個物件,就像這樣:
- <ul>
- <ling-repeat="person in persons">
- <buttonng-click
- </li>
- </ul>
當然還有ng-dblclick標籤
第四 分支語句之ng-switch on、ng-if/ng-show/ng-hide/ng-disabled標籤
分支語句讓你在介面上都可以寫邏輯判斷。
- <ul>
- <ling-repeat="person in persons">
- <!-- ng-switch 多個選項時的應用 -->
- <spanng-switchon="person.sex">
- <spanng-switch-when="1">you are a boy</span>
- <spanng-switch-when="2">you are a girl</span>
- </span>
- <!-- ng-if 判斷條件成立時顯示,包含本身 span 標籤,如果不成立則連本身都不顯示 -->
- <spanng-if="person.sex==1">you may be a father</span>
- <!-- ng-show 判斷條件成立時顯示,不包含本身 span 標籤 -->
- <spanng-show="person.sex==2">you may be a mother</span>
- <span>
- please input your baby's name:<inputtype="text"ng-disabled="!person.hasBaby"/>
- </span>
- </li>
- </ul>
第五 校驗語法之 ng-trim ng-minlength ng-maxlength required ng-pattern 等標籤
這塊在實踐練習,發現之前記錄太簡單,而這部分涉及到的內容比較豐富,所以要另起一篇日記來記錄,請點《AngularJS 自帶表單驗證的使用》來檢視
第六 下拉框之 ng-options 標籤
ng-options是為下拉框專門打造的標籤。
- <selectng-model="yourSelected"ng-options="person.id as person.name in persons"></select>
下拉框中顯示的是person.name,當你選中其中一個的時候,你可以通過yourSelected得到你選中的person.id.
第七 控制css之 ng-style 標籤
ng-style幫你輕鬆控制你的css屬性
- <spanng-style="myColor">your color</span>
你可以通過給myColor賦值的形式來改變你想要的效果,就像這樣:
$scope.myColor={color:’blue’};
$scope.myColor={cursor: ‘pointer’,color:’blue’};
第八 非同步請求之 $http 物件。
AngularJS 提供了一個類似jquery的$.ajax的物件,用於非同步請求。
在AngularJS中對非同步操作是推崇至極的,所以$http的操作都是非同步的不像jquery.ajax裡還提供了async引數。
- $http({method :'POST',params:{ id:123}, data:{name:'john',age:27}, url :"/mypath"})
- .success(function(response, status, headers, config){
- //do anything what you want;
- })
- .error(function(response, status, headers, config){
- //do anything what you want;
- });
如果你是POST請求,params裡的資料會幫你拼到url後面,data裡的資料會放到請求體中。