欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

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

現(xiàn)在公司用ionic,就是基于angularjs封裝了一些api用于webapp,最近用的angularjs的filter確實(shí)省了很多代碼,現(xiàn)在總結(jié)一下!

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

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

lowercase(小寫)

{{ lastName | lowercase }}

uppercase(大寫)

{{ lastName | uppercase }}

number(格式化數(shù)字)

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

{{ num | number : 2 }}

 currency (貨幣處理)

{{num | currency : '¥'}}

json(格式化json對象)

{{ jsonTest | json}}

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

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

{{ childrenArray | limitTo : 3 }}  //將會顯示數(shù)組中的前3項(xiàng)

filter(匹配子串)

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

html

angularjs之filter過濾器

angularjs之filter過濾器

<ul>
        <li>filter 匹配子串(以下寫法只是方便觀察)</li>
        <li>{{ webArr | filter : 'n' }} <!--匹配屬性值中含有n的--></li>
        <li>{{ webArr | filter : 25 }} <!--匹配屬性值中含有25的--></li>
        <li>{{ webArr | filter : {name : 'l'} }} <!--//參數(shù)是對象,匹配name屬性中含有l(wèi)的--></li>
        <li>{{ webArr | filter : fun }} <!--/參數(shù)是函數(shù),指定返回age>25的--></li>
</ul>

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}]

日期類

日期過濾器應(yīng)該是常用過濾器中最簡單的吧!

  • yyyy--表示年份;

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

  • dd--日期;

  • hh--時(shí);

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

  • ss--秒;

  • EEEE--星期;

  • hh:mm--形式是24小時(shí)制;

  • h:mma--12小時(shí)制;

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

angularjs之filter過濾器

angularjs之filter過濾器

    <ul>
        <li>8 日期1</li>
        <li ng-bind="date|date:'yyyy/MM/dd hh:mm:ss EEEE'"></li>
        <li>8 日期2</li>
        <li ng-bind="date|date:'yyyy年MM月dd日 h:mma EEEE'"></li>
        <li>8 日期3</li>
        <li ng-bind="date|date:'yyyy年MM月dd日 hh時(shí)mm分ss秒'"></li>
        <li>8 日期4</li>
        <li ng-bind="date|date:'yyyy/MM/dd hh:mm:ss'"></li>
    </ul>

angularjs之filter過濾器

angularjs之filter過濾器

日期1的顯示效果:

2016/11/19 11:59:05 Saturday

日期2的顯示效果:

2016年11月19日 12:01PM Saturday

日期3的顯示效果:

2016年11月22日 10時(shí)42分09秒

日期4的顯示效果:

2016/11/22 11:16:58

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

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

用法很簡單,但有坑需注意兩點(diǎn):

  • 參數(shù)引號勿忘;

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

3 按年齡排序(默認(rèn)升序)

angularjs之filter過濾器

angularjs之filter過濾器

    <ul>
        <li>3 按年齡排序(默認(rèn)升序)</li>
        <li ng-repeat="item2 in items2|orderBy:'age'">
            <div>
                <b>name</b>
                <u ng-bind="item2.name"></u>
            </div>
            <div>
                <b>age</b>
                <i ng-bind="item2.age"></i>
            </div>
            <div>
                <b>stature</b>
                <i ng-bind="item2.stature"></i>
            </div>
        </li>
    </ul>

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

3 按年齡排序(默認(rèn)升序)
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 按年齡排序(加參數(shù)true則為倒序即降序)

angularjs之filter過濾器

angularjs之filter過濾器

    <ul>
        <li ng-repeat="item2 in items2|orderBy:'age':true">
            <div>
                <b>name</b>
                <u ng-bind="item2.name"></u>
            </div>
            <div>
                <b>age</b>
                <i ng-bind="item2.age"></i>
            </div>
            <div>
                <b>stature</b>
                <i ng-bind="item2.stature"></i>
            </div>
        </li>
    </ul>

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

4 按年齡排序(加參數(shù)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 想先按年齡升序在按身高降序(全是降序了,達(dá)不到效果,見第7例)
我曾就天真的這樣寫過^*^

angularjs之filter過濾器

angularjs之filter過濾器

    <ul>
        <!--<li ng-repeat="item2 in items2|orderBy:'age':'-stature'">-->
        <li ng-repeat="item2 in items2|orderBy:'age':'stature':true">
            <div>
                <b>name</b>
                <u ng-bind="item2.name"></u>
            </div>
            <div>
                <b>age</b>
                <i ng-bind="item2.age"></i>
            </div>
            <div>
                <b>stature</b>
                <i ng-bind="item2.stature"></i>
            </div>
        </li>
    </ul>

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

5 想先按年齡升序在按身高降序(全是降序了,達(dá)不到效果,見第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 先按年齡在按身高排序(多個(gè)參數(shù)寫出數(shù)組形式)

angularjs之filter過濾器

angularjs之filter過濾器

    <ul>
        <li ng-repeat="item2 in items2|orderBy:['age','stature']">
            <div>
                <b>name</b>
                <u ng-bind="item2.name"></u>
            </div>
            <div>
                <b>age</b>
                <i ng-bind="item2.age"></i>
            </div>
            <div>
                <b>stature</b>
                <i ng-bind="item2.stature"></i>
            </div>
        </li>
    </ul>

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

6 先按年齡在按身高排序(多個(gè)參數(shù)寫出數(shù)組形式)
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 先按年齡升序在按身高降序(多個(gè)參數(shù)寫出數(shù)組形式)

在參數(shù)前加負(fù)號即可實(shí)現(xiàn)倒序

angularjs之filter過濾器

angularjs之filter過濾器

    <ul>
        <li ng-repeat="item2 in items2|orderBy:['age','-stature']">
            <div>
                <b>name</b>
                <u ng-bind="item2.name"></u>
            </div>
            <div>
                <b>age</b>
                <i ng-bind="item2.age"></i>
            </div>
            <div>
                <b>stature</b>
                <i ng-bind="item2.stature"></i>
            </div>
        </li>
    </ul>

angularjs之filter過濾器

angularjs之filter過濾器

效果展示:

angularjs之filter過濾器

angularjs之filter過濾器

!!7 先按年齡升序在按身高降序(多個(gè)參數(shù)寫出數(shù)組形式)
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過濾器

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

自定義過濾器

自定義過濾器就是返回一個(gè)函數(shù),函數(shù)又返回你要的值即可!

實(shí)例:

angularjs之filter過濾器

angularjs之filter過濾器

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

angularjs之filter過濾器

angularjs之filter過濾器

自定義一個(gè)求和的過濾器

html
    <ul>
        <li>!!1 求和</li>
        <li ng-repeat="item1 in items1">
            <div ng-bind="item1.male | sumNick:item1.female:item1.gay"></div>
        </li>
    </ul>

用法:

管道前后所有參數(shù)即為和
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<len;i++){
                            sum+=arr[i]?arr[i]:0;
                        }
                        return sum;
                    }
                })

angularjs之filter過濾器

angularjs之filter過濾器

arguments--函數(shù)接受的參數(shù)集合,類數(shù)組;

Array.prototype.slice.call(arguments)

這句將類數(shù)組轉(zhuǎn)為數(shù)組;

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

總和sum等于數(shù)組的每個(gè)元素累加的和。避免后臺為傳值,而又將次參數(shù)傳人自定義filer函數(shù)作為參數(shù),容錯(cuò)時(shí)寫成0保險(xiǎn)。

  自定義一個(gè)求百分百的過濾器(求保留小數(shù)點(diǎn)后兩位百分比)

html

angularjs之filter過濾器

angularjs之filter過濾器

    <ul ng-repeat="item1 in items1">
        <li>!!2 求百分比</li>
        <li>
            <b>male</b>
            <i ng-bind="item1.male|percentNick:item1.female:item1.gay"></i>
        </li>
        <li>
            <b>female</b>
            <u ng-bind="item1.female|percentNick:item1.male:item1.gay"></u>
        </li>
        <li>
            <b>gay</b>
            <s ng-bind="item1.gay|percentNick:item1.female:item1.male"></s>
        </li>
    </ul>

angularjs之filter過濾器

angularjs之filter過濾器

用法:

 分子寫在管道前面,管道后面的所有參數(shù)和加管道前的參數(shù)和則為分母
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<len;i++){
                            sum+=arr[i]?arr[i]:0;
                        }
                        //0/0也是nan
                        return sum==0?'0%':Math.round((arr[0]?arr[0]:0)/sum*10000)/100+"%";
                    }
                })

angularjs之filter過濾器

angularjs之filter過濾器

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

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

Math內(nèi)置函數(shù),Math.round四舍五入保留整數(shù);

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

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

當(dāng)前題目:angularjs之filter過濾器-創(chuàng)新互聯(lián)
鏈接分享:http://aaarwkj.com/article26/ccdocg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供面包屑導(dǎo)航、企業(yè)網(wǎng)站制作、服務(wù)器托管云服務(wù)器、外貿(mào)網(wǎng)站建設(shè)營銷型網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站托管運(yùn)營
国产欧美日韩一区二区三区四区| 蜜桃一区二区三区免费| 国产精品三级玖玖玖电影| 91精品国产老熟女在线 | 中文字幕一区二区三区网站| 一级片高清在线观看国产 | 18岁以下禁看视频网站| 未满十八禁在线观看免费| 欧美一区二区国产精品日韩| 久久好大好爽要死了欧美| 亚洲国产日韩欧美一级| 精品视频偷拍一区二区三区| 久久久国产一区二区三区| 国内成人午夜激情视频| 十八禁一区二区在线观看| 亚洲一级特黄大片在线观看| 最新国产av网址大全| 国产熟女真实乱精品视频| 97视频观看免费观看| 三级国产大片在线观看| 丰满人妻一区二三区av| 国产欧美日韩另类在线播放| 懂色av中文字幕一区| 亚洲日本精品国产第一区| 国产黄色片网站在线看| 成人免费视频国产免费| 日韩欧美黄网站免费看| 五月婷婷六月丁香俺来也| 精品一区二区久久久久久网精| 性知音国产精品粉色视频| 日韩欧美国产成人在线观看| 亚洲精品在线一二三区| 日本在线观看免费高清| 国产婷婷精品一区二区| 女同一区二区三区在线| 国内精品久久大型新型| 亚洲av日韩高清在线观看| 日本国产一区二区三区在线| 2018在线不卡爱视频| 精品一区二区三区高清| 亚洲国产精品天堂av在线播放|