AngularJS 過濾與排序詳解及執行個體代碼

來源:互聯網
上載者:User

標籤:一個   r.js   lib   wan   src   function   name   輸入   使用方法   

 

這篇文章主要介紹了AngularJS 過濾與排序,實現查詢過濾以及排序的功能。

通過這篇文章可以瞭解到

  1、 angularjs的過濾器

  2、 ng-repeat的使用方法

  3、 控制器的使用

  4、 資料的綁定

首先,如果要是先查詢過濾,就要使用到AngularJS中的 過濾器filter 了。

  直接在運算式的後面使用管道命令符 | ,按照下面的寫法就可以達到一個過濾的效果:

  {{ persons | filter:query }}

  通過使用filter實現過濾操作,query是查詢過濾時輸入的字串。

  類似地,使用orderBy就可以實現排序的功能:

  {{ persons | filter:query | orderBy:order }}

上面的查詢以及排序涉及到兩個變數,query和order。在這裡直接使用ng-model實現資料的綁定即可:

搜尋:<input ng-model= "query" > 排序:<select ng-model= "order" >      <option value= "name" >name</option>      <option value= "age" >age</option>   </select>

資料的展現,可以通過ng-repeat實現。當網頁解析到ng-repeat的時候,會為每一個數組中的元素都複製一份標籤,進行編譯解析。   

     <ul class= "persons" >          <li ng-repeat= "person in persons | filter:query | orderBy:order" >            {{person.name}}            {{person.age}}          </li>        </ul>這些就是需要在script中進行perons數組的初始化:       <script type= "text/javascript" >      function ctl($scope){        $scope.persons = [          { "name" : "xingoo" , "age" :25},          { "name" : "zhangsan" , "age" :18},          { "name" : "lisi" , "age" :20},          { "name" : "wangwu" , "age" :30}        ];        $scope.order = "age" ;      }    </script>   執行個體: <!doctype html> <html ng-app>    <head>       <meta http-equiv= "Content-Type" content= "text/html; charset=utf-8" />       <script src= "http://apps.bdimg.com/libs/angular.js/1.2.16/angular.min.js" ></script>     </head>    <body>      <div ng-controller= "ctl" >        Search:<input ng-model= "query" >        Sort by:<select ng-model= "order" >          <option value= "name" >name</option>          <option value= "age" >age</option>        </select>         <ul class= "persons" >          <li ng-repeat= "person in persons | filter:query | orderBy:order" >            {{person.name}}                        {{person.age}}          </li>        </ul>      </div>      <script type= "text/javascript" >        function ctl($scope){          $scope.persons = [            { "name" : "xingoo" , "age" :25},            { "name" : "zhangsan" , "age" :18},            { "name" : "lisi" , "age" :20},            { "name" : "wangwu" , "age" :30}          ];          $scope.order = "age" ;        }      </script>    </body> </html>

 

AngularJS 過濾與排序詳解及執行個體代碼

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.