真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網站制作重慶分公司

angularjs之filter過濾器-創(chuàng)新互聯(lián)

現在公司用ionic,就是基于angularjs封裝了一些api用于webapp,最近用的angularjs的filter確實省了很多代碼,現在總結一下!

成都創(chuàng)新互聯(lián)是專業(yè)的津南網站建設公司,津南接單;提供成都做網站、成都網站設計,網頁設計,網站設計,建網站,PHP網站建設等專業(yè)做網站服務;采用PHP框架,可快速的進行津南網站開發(fā)網頁制作和功能擴展;專業(yè)做搜索引擎喜愛的網站,專業(yè)的做網站團隊,希望更多企業(yè)前來合作!

ng比較雞肋的過濾器,這里就一筆帶過吧!雞湯類常用的filter后面上例子。

lowercase(小寫)

{{ lastName | lowercase }}

uppercase(大寫)

{{ lastName | uppercase }}

number(格式化數字)

number過濾器可以為一個數字加上千位分割,像這樣,123,456,789。同時接收一個參數,可以指定小float型保留幾位小數:

{{ num | number : 2 }}

 currency (貨幣處理)

{{num | currency : '¥'}}

json(格式化json對象)

{{ jsonTest | json}}

作用就和我們熟悉的JSON.stringify()一樣

 limitTo(限制數組長度或字符串長度)

{{ childrenArray | limitTo : 3 }}  //將會顯示數組中的前3項

filter(匹配子串)

用來處理一個數組,然后可以過濾出含有某個子串的元素,作為一個子數組來返回??梢允亲址當到M,也可以是對象數組。如果是對象數組,可以匹配屬性的值。它接收一個參數,用來定義子串的匹配規(guī)則。

html

angularjs之filter過濾器

angularjs之filter過濾器

            
  • filter 匹配子串(以下寫法只是方便觀察)
  •         
  • {{ webArr | filter : 'n' }} 
  •         
  • {{ webArr | filter : 25 }} 
  •         
  • {{ webArr | filter : {name : 'l'} }} 
  •         
  • {{ webArr | filter : fun }} 

angularjs之filter過濾器

angularjs之filter過濾器

js

angularjs之filter過濾器

angularjs之filter過濾器

$scope.webArr = [
                    {name:'nick',age:25},
                    {name:'ljy',age:28},
                    {name:'xzl',age:28},
                    {name:'zyh',age:30}
                ];
$scope.fun = function(e){return e.age>25;};

angularjs之filter過濾器

angularjs之filter過濾器

 效果展示:

filter 匹配子串(以下寫法只是方便觀察)
[{"name":"nick","age":25}]
[{"name":"nick","age":25}]
[{"name":"ljy","age":28},{"name":"xzl","age":28}]
[{"name":"ljy","age":28},{"name":"xzl","age":28},{"name":"zyh","age":30}]

日期類

日期過濾器應該是常用過濾器中最簡單的吧!

  • yyyy--表示年份;

  • MM--月份(必須大寫);

  • dd--日期;

  • hh--時;

  • mm--分(必須小寫);

  • ss--秒;

  • EEEE--星期;

  • hh:mm--形式是24小時制;

  • h:mma--12小時制;

  • 其中年、月、日、時、分、秒 或  / : - 等自己試做搭配吧!

angularjs之filter過濾器

angularjs之filter過濾器

    
            
  • 8 日期1
  •                  
  • 8 日期2
  •                  
  • 8 日期3
  •                  
  • 8 日期4
  •              

angularjs之filter過濾器

angularjs之filter過濾器

日期1的顯示效果:

2016/11/19 11:59:05 Saturday

日期2的顯示效果:

2016年11月19日 12:01PM Saturday

日期3的顯示效果:

2016年11月22日 10時42分09秒

日期4的顯示效果:

2016/11/22 11:16:58

 orderBy排序(個人認為第七例最佳寫法)

ng-repeat生成一個獨立的scope作用域,直接在ng-repeat循環(huán)后加管道orderBy排序。

用法很簡單,但有坑需注意兩點:

  • 參數引號勿忘;

  • 參數形式--直接寫成age,不用寫成item2.age。

3 按年齡排序(默認升序)

angularjs之filter過濾器

angularjs之filter過濾器

    
            
  • 3 按年齡排序(默認升序)
  •                      
                    name                              
                
                    age                              
                
                    stature                              
                 

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

3 按年齡排序(默認升序)
name ljy
age 27
stature 165
name nick
age 25
stature 170
name xzl
age 27
stature 175
name zyh
age 29
stature 165

angularjs之filter過濾器

angularjs之filter過濾器

4 按年齡排序(加參數true則為倒序即降序)

angularjs之filter過濾器

angularjs之filter過濾器

    
                         
                    name                              
                
                    age                              
                
                    stature                              
                 

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

4 按年齡排序(加參數true則為倒序即降序)
name zyh
age 29
stature 165
name xzl
age 27
stature 175
name ljy
age 27
stature 165
name nick
age 25
stature 170

angularjs之filter過濾器

angularjs之filter過濾器

5 想先按年齡升序在按身高降序(全是降序了,達不到效果,見第7例)
我曾就天真的這樣寫過^*^

angularjs之filter過濾器

angularjs之filter過濾器

    
                                  
                    name                              
                
                    age                              
                
                    stature                              
                 

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

5 想先按年齡升序在按身高降序(全是降序了,達不到效果,見第7例)
name zyh
age 29
stature 165
name xzl
age 27
stature 175
name ljy
age 27
stature 165
name nick
age 25
stature 170

angularjs之filter過濾器

angularjs之filter過濾器

6 先按年齡在按身高排序(多個參數寫出數組形式)

angularjs之filter過濾器

angularjs之filter過濾器

    
                         
                    name                              
                
                    age                              
                
                    stature                              
                 

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

6 先按年齡在按身高排序(多個參數寫出數組形式)
name nick
age 25
stature 170
name ljy
age 27
stature 165
name xzl
age 27
stature 175
name zyh
age 29
stature 165

angularjs之filter過濾器

angularjs之filter過濾器

7 先按年齡升序在按身高降序(多個參數寫出數組形式)

在參數前加負號即可實現倒序

angularjs之filter過濾器

angularjs之filter過濾器

    
                         
                    name                              
                
                    age                              
                
                    stature                              
                 

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

!!7 先按年齡升序在按身高降序(多個參數寫出數組形式)
name nick
age 25
stature 170
name xzl
age 27
stature 175
name ljy
age 27
stature 165
name zyh
age 29
stature 165

angularjs之filter過濾器

angularjs之filter過濾器

個人覺得ng內置的過濾器好多都比較雞肋。個性化的需求自定義的過濾器吧。

自定義過濾器

自定義過濾器就是返回一個函數,函數又返回你要的值即可!

實例:

angularjs之filter過濾器

angularjs之filter過濾器

angular.module('youAppName',[])
                .filter('youFilterName',function(){
                    return function(){
                      //你的處理代碼
                        return result;//返回你要的值
                    }
                })

angularjs之filter過濾器

angularjs之filter過濾器

自定義一個求和的過濾器

html
    
            
  • !!1 求和
  •                      
             

用法:

管道前后所有參數即為和
js

angularjs之filter過濾器

angularjs之filter過濾器

var nickAppModule=angular.module('nickApp',[]);
        nickAppModule
                //求和
                .filter('sumNick',function(){
                    return function(){
                        var arr=Array.prototype.slice.call(arguments),sum=0;
                        for(var i= 0,len=arr.length;i

angularjs之filter過濾器

angularjs之filter過濾器

arguments--函數接受的參數集合,類數組;

Array.prototype.slice.call(arguments)

這句將類數組轉為數組;

 sum+=arr[i]?arr[i]:0;

總和sum等于數組的每個元素累加的和。避免后臺為傳值,而又將次參數傳人自定義filer函數作為參數,容錯時寫成0保險。

  自定義一個求百分百的過濾器(求保留小數點后兩位百分比)

html

angularjs之filter過濾器

angularjs之filter過濾器

    
        
  • !!2 求百分比
  •         
  •             male                      
  •         
  •             female                      
  •         
  •             gay                      
  •     

    angularjs之filter過濾器

    angularjs之filter過濾器

    用法:

     分子寫在管道前面,管道后面的所有參數和加管道前的參數和則為分母
    js

    angularjs之filter過濾器

    angularjs之filter過濾器

    var nickAppModule=angular.module('nickApp',[]);
            nickAppModule
    //百分比
                    .filter('percentNick',function(){
                        return function(){
                            var arr=Array.prototype.slice.call(arguments),sum=0;
                            for(var i= 0,len=arr.length;i

    angularjs之filter過濾器

    angularjs之filter過濾器

    這里就是在上面求和的filter上多了一句:

    sum==0?'0%':Math.round((arr[0]?arr[0]:0)/sum*10000)/100+"%"

    Math內置函數,Math.round四舍五入保留整數;

    將總和乘以10000除以100拼接百分比號,即保留兩位小數。

    另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


    名稱欄目:angularjs之filter過濾器-創(chuàng)新互聯(lián)
    轉載注明:http://weahome.cn/article/ccdocg.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部