Angular.js中index.html簡單結構:
<!doctype html> <html ng-app> <head> <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script> </head> <body> Your name: <input type="text" ng-model="yourname" placeholder="World"> <hr> Hello {{yourname || 'World'}}! </body> </html>
ng-app屬性是angular.js的標誌語句,它標記了angular.js的作用域。 ng-app可以添加在很多地方,像上面那樣添加到html標籤上,說明angular腳本對整個頁面都起作用。也可以在局部加入ng-app屬性,例如在某一個div內加入ng-app,則表示接下來的整個div區域使用angular腳本解析,而其他位置則不適用angular腳本解析。
ng-model表示建立一個資料模型。這裡在input輸入姓名的輸入框內,我們把該定義了一個yourname資料模型。定義了該模型後,我們可以在下面進行調用,方法是利用{{}}。這樣就完成了資料綁定,當我們在輸入框內輸入內容時,就會同步到下面的Hello語句區塊。
ng-model定義的資料模型不僅可用於上述場景,還能在許多情況下廣泛應用。
1、設定filter,實現搜尋功能
在下面的程式碼中,我們利用一個簡單的資料模型定義+filter就可以完成一個清單搜尋功能。 (這是中文網路上的實例碼,先不需要管不清楚的部分)
<div class="container-fluid"> <div class="row-fluid"> <div class="span2"> Search: <input ng-model="query"> </div> <div class="span10"> <ul class="phones"> <li ng-repeat="phone in phones | filter:query"> {{phone.name}} <p>{{phone.snippet}}</p> </li> </ul> </div> </div> </div>
在上述程式碼中,為搜尋框的input標籤綁定了資料模型query。這樣,使用者輸入的資訊會被同步到query資料模型中。在下面的li中,使用filter:query就可以實現清單中的資料過濾功能,並依照使用者的輸入資訊進行filter過濾。
2、設定orderBy,實作清單排序功能
在下面的程式碼中,與filter同理,使用orderBy為清單增加一個排序功能:
Search: <input ng-model="query"> Sort by: <select ng-model="orderProp"> <option value="name">Alphabetical</option> <option value="age">Newest</option> </select> <ul class="phones"> <li ng-repeat="phone in phones | filter:query | orderBy:orderProp"> {{phone.name}} <p>{{phone.snippet}}</p> </li> </ul>
以上就是關於ng-app和ng-model使用技巧,溫故知新,希望大家從中可以有所收穫。