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

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)營
精品久久久久久亚洲电影| 亚洲av香蕉综合一区| 欧美亚洲另类在线第一页| 熟女少妇久久中文字幕| 久久夜色噜噜噜av一区| 美女爽到高潮久久久| 日本高清不卡在线播放| 国产亚洲欧美日韩精品| 美女在线观看av少妇| 国产成人亚洲综合色影视| 精品一区二区久久久久久| 未满十八勿进黄网观看| 亚洲精品成人午夜av| 欧美日韩亚洲国产专区精品| 国产日韩精品免费在线| 漂亮人妻少妇中文字幕| 最新日韩欧美一区二区| 国产a情人一区二区国产| 成人午夜激情在线免费观看| 麻豆视传媒短视频网站| 日韩精品大全一区二区| 日本一区二区三区精彩视频| 亚洲av乱码专区国产乱码| 成年人收看黄色一二级片| 啊啊啊用力好大视频| 不卡视频在线免费观看| 日韩精品人妻中文字幕满员| 青青草原在线视频观看| 青青草日韩欧美在线观看| 成人黄色大片免费看| 国产亚洲综合区成人国产| 在线观看91高清视频| 成人嚼牙特别黑黄怎么办| 五月婷婷六月丁香在线观看| 精品久久久久久亚洲电影| 国产精品三级玖玖玖电影| 中文字幕乱码日韩一区| 中文在线在线天堂中文| 久久精品一品二品三品| 午夜亚洲大片在线观看| av色狠狠一区二区三区|