標籤:
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>
Angular.js回顧+學習筆記(1)【ng-app和ng-model】