欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

AngularJS 過(guò)濾與排序詳解及實(shí)例代碼

 更新時(shí)間:2016年09月14日 16:12:17   作者:xingoo  
這篇文章主要介紹了AngularJS 過(guò)濾與排序,這里整理了詳細(xì)的資料及簡(jiǎn)單實(shí)例代碼,有需要的小伙伴可以參考下

前面了解了AngularJS的使用方法,這里就簡(jiǎn)單的寫個(gè)小程序,實(shí)現(xiàn)查詢過(guò)濾以及排序的功能。

本程序中可以了解到:

  1 angularjs的過(guò)濾器

  2 ng-repeat的使用方法

  3 控制器的使用

  4 數(shù)據(jù)的綁定

  程序設(shè)計(jì)分析

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

  直接在表達(dá)式的后面使用管道命令符 | ,按照下面的寫法就可以達(dá)到一個(gè)過(guò)濾的效果:

{{ persons | filter:query }}

  通過(guò)使用filter實(shí)現(xiàn)過(guò)濾操作,query是查詢過(guò)濾時(shí)輸入的字符串。

  類似地,使用orderBy就可以實(shí)現(xiàn)排序的功能:

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

  上面的查詢以及排序涉及到兩個(gè)變量,query和order。在這里直接使用ng-model實(shí)現(xiàn)數(shù)據(jù)的綁定即可:

      Search:<input ng-model="query">
      Sort by:<select ng-model="order">
        <option value="name">name</option>
        <option value="age">age</option>
      </select>

  AngularJS是一門基于DOM的框架語(yǔ)言,因此不需要實(shí)現(xiàn)任何的監(jiān)聽器以及事件觸發(fā)器,當(dāng)query所在的輸入框發(fā)生任何改變時(shí),就會(huì)觸發(fā)輸入框與下面的表達(dá)式展現(xiàn)的雙向刷新!

  相比于其他的一些框架,是基于字符串通過(guò)DOM節(jié)點(diǎn)innerHTML添加到DOM中,AngularJS的實(shí)現(xiàn)方式加快了模型與視圖的展現(xiàn)。并且減少了大量不必要的監(jiān)聽器啊觸發(fā)器啊之類的代碼的編寫,真正實(shí)現(xiàn)了類似spring的效果~

  數(shù)據(jù)的展現(xiàn),可以通過(guò)ng-repeat實(shí)現(xiàn)。當(dāng)網(wǎng)頁(yè)解析到ng-repeat的時(shí)候,會(huì)為每一個(gè)數(shù)組中的元素都克隆一份標(biāo)簽,進(jìn)行編譯解析?!  ?/p>

   <ul class="persons">
        <li ng-repeat="person in persons | filter:query | orderBy:order">
          {{person.name}}
          
          {{person.age}}
        </li>
      </ul>

  剩下的工作就是需要在script中進(jìn)行perons數(shù)組的初始化:   

  <div ng-controller="ctl">
          ...
    </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>  

  代碼以及結(jié)果

  最后貼上全部的代碼:

<!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>


  使用結(jié)果:

  在默認(rèn)情況下,使用age進(jìn)行排序:

  通過(guò)選擇則可以使用name排序

  再輸入字符的時(shí)候,會(huì)自動(dòng)過(guò)查詢過(guò)濾掉一些選項(xiàng)

以上就是對(duì)AngularJS 過(guò)濾與排序的資料整理,后續(xù)繼續(xù)補(bǔ)充相關(guān)資料,謝謝大家對(duì)本站的支持!

相關(guān)文章

  • angular中兩種表單的區(qū)別(響應(yīng)式和模板驅(qū)動(dòng)表單)

    angular中兩種表單的區(qū)別(響應(yīng)式和模板驅(qū)動(dòng)表單)

    這篇文章主要介紹了angular中兩種表單的區(qū)別(響應(yīng)式和模板驅(qū)動(dòng)表單),詳細(xì)的介紹了這兩種表單的實(shí)現(xiàn)以及區(qū)別,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2018-12-12
  • 簡(jiǎn)介AngularJS的HTML DOM支持情況

    簡(jiǎn)介AngularJS的HTML DOM支持情況

    這篇文章主要介紹了AngularJS的HTML DOM支持情況,包括ng-hide和ng-click指令的使用,需要的朋友可以參考下
    2015-06-06
  • Angular處理未可知異常錯(cuò)誤的方法詳解

    Angular處理未可知異常錯(cuò)誤的方法詳解

    這篇文章主要給大家介紹了關(guān)于Angular如何處理未可知異常錯(cuò)誤的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Angularjs 事件指令詳細(xì)整理

    Angularjs 事件指令詳細(xì)整理

    這篇文章主要介紹了Angularjs 事件指令詳細(xì)整理的相關(guān)資料,這里對(duì)AngularJS 的所有的事件指令一一做出詳細(xì)介紹,需要的朋友可以參考下
    2017-07-07
  • 對(duì)比分析AngularJS中的$http.post與jQuery.post的區(qū)別

    對(duì)比分析AngularJS中的$http.post與jQuery.post的區(qū)別

    這篇文章主要給大家對(duì)比分析AngularJS中的$http.post與jQuery.post的區(qū)別,十分的詳細(xì),是篇非常不錯(cuò)的文章,這里推薦給小伙伴們。
    2015-02-02
  • 在Angular使用ng-container元素的操作詳解

    在Angular使用ng-container元素的操作詳解

    ng-container 是 Angular 2+ 中可用的一個(gè)元素,可以作為結(jié)構(gòu)指令的宿主,在本文中,您將探討可以使用 ng-container 解決的場(chǎng)景,文中有相關(guān)的代碼示例供大家參考,具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-02-02
  • AngularJS的表單使用詳解

    AngularJS的表單使用詳解

    這篇文章主要介紹了AngularJS的表單使用詳解,在JS原有的基礎(chǔ)上提供了更多與HTML交互的功能,需要的朋友可以參考下
    2015-06-06
  • Angular2從搭建環(huán)境到開發(fā)步驟詳解

    Angular2從搭建環(huán)境到開發(fā)步驟詳解

    本文的內(nèi)容主要是想幫助那些想學(xué)習(xí)Angular2的朋友們,因?yàn)槲易约涸谕鍭ngular2時(shí)碰到了不少坑,而且Angular2語(yǔ)法一直處于變化中,讓人很頭疼。不過(guò)也怪不了Anguar2,因?yàn)樗F(xiàn)在是處于并長(zhǎng)期處于alpha階段,下面就通過(guò)本文來(lái)學(xué)習(xí)Angular2的搭建環(huán)境和開發(fā)吧。
    2016-10-10
  • Angular2學(xué)習(xí)筆記——詳解NgModule模塊

    Angular2學(xué)習(xí)筆記——詳解NgModule模塊

    這篇文章主要介紹了Angular2學(xué)習(xí)筆記——詳解NgModule模塊,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • Angular.JS內(nèi)置服務(wù)$http對(duì)數(shù)據(jù)庫(kù)的增刪改使用教程

    Angular.JS內(nèi)置服務(wù)$http對(duì)數(shù)據(jù)庫(kù)的增刪改使用教程

    我們可以使用內(nèi)置的$http服務(wù)直接同外部進(jìn)行通信。$http服務(wù)只是簡(jiǎn)單的封裝了瀏覽器原生的XMLHttpRequest對(duì)象,下面這篇文章主要給大家介紹了關(guān)于Angular.JS內(nèi)置服務(wù)$http對(duì)數(shù)據(jù)庫(kù)的增刪改等操作的相關(guān)資料,需要的朋友可以參考下。
    2017-05-05

最新評(píng)論