Angular.js回想+学习笔记(1)【ng-app和ng-model】
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>