詳解AngularJS Filter(過濾器)用法
AngularJS的filter,中文名“過濾器”是用來過濾變量的值,或者格式化輸出,得到自己所期望的結(jié)果或格式的東東。
Filter簡介
Filter是用來格式化數(shù)據(jù)用的。
Filter的基本原型( ‘|' 類似于Linux中的管道模式):
{{ expression | filter }}
Filter可以被鏈?zhǔn)绞褂茫催B續(xù)使用多個(gè)filter):
{{ expression | filter1 | filter2 | ... }}
Filter也可以指定多個(gè)參數(shù):
{{ expression | filter:argument1:argument2:... }}
一、在視圖模板(View Template)中使用
在表達(dá)式中應(yīng)用Filters (過濾器)
需要遵循格式如下:
{{ expression | filter }} 即 {{ 表達(dá)式 | 過濾器 }}
例如:{{ 12 | currency }} 輸出為 $12.00
在輸出結(jié)果中應(yīng)用Filters (過濾器)
通俗點(diǎn)講就是Filter的疊加--前一filter的輸出結(jié)果作為后一filter的輸入數(shù)據(jù)源.
需要遵循格式如下:
{{ expression | filter1 | filter2 | ... }} 即 表達(dá)式(expression)使用filter1過濾后再使用filter2過濾...
帶參數(shù)的Filter
Filter后面可以跟一個(gè)或多個(gè)參數(shù),用來幫助實(shí)現(xiàn)特殊要求、需求的filter.
需要遵循格式如下:
{{ expression | filter:argument1:argument2:... }}
示例: {{ 1234 | number:2 }} = 1,234.00
二、使用 AngluarJS 內(nèi)置Filter
AngularJS為我們提供了9個(gè)內(nèi)建的過濾器
分別是currency, date, filter, json, limitTo, uppercase, lowercase, number, orderBy。
具體的用法在AngularJS的文檔中都有詳細(xì)說明。下面只說幾個(gè)常用的。
currency filter(貨幣過濾器)
currency – 用來將變量轉(zhuǎn)換成貨幣表現(xiàn)形式
如:{{ amount | currency}}
uppercase/lowercase filter(字母大小寫filter)
如:
{{ "lower cap string" | uppercase }}
<input ng-model="userInput"> Uppercased: {{ userInput | uppercase }}
date filter (日期filter)
如:
{{ 1304375948024 | date }}
{{ 1304375948024 | date:"MM/dd/yyyy @ h:mma" }}
json filter
如:
{{ {foo: "bar", baz: 23} | json }}
在controllers, services和drictives中使用filter
可以在AngularJS的controller, service或者driective中使用filter, 這時(shí)候你需要將依賴的filter名字加入到controller, service或者directive的依賴中去。
在controller中直接使用filter, 這樣controller可以根據(jù)自身需要而適時(shí)調(diào)用filter
三、自定義filter(過濾器)
AngularJS編寫自定義過濾器的形式和AngularJS的factory service非常相像,一定記得它返回一個(gè)對象或者是一個(gè)函數(shù)即可,編寫的時(shí)候,只需要一個(gè)帶有一個(gè)以上參數(shù)的函數(shù)即可。
格式大致如:
app.filter('filter(過濾器)名稱',function(){ return function(需要過濾的對象,過濾器參數(shù)1,過濾器參數(shù)2,...){ //...執(zhí)行業(yè)務(wù)邏輯代碼 return 處理后的對象; } });
- Javascript中關(guān)于Array.filter()的妙用詳解
- AngularJS中的過濾器filter用法完全解析
- JavaScript 數(shù)組some()和filter()的用法及區(qū)別
- jquery.fastLiveFilter.js實(shí)現(xiàn)輸入自動(dòng)過濾的方法
- JavaScript中利用Array filter() 方法壓縮稀疏數(shù)組
- JavaScript之filter_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理
- 詳解AngularJS中的filter過濾器用法
- Vue.js報(bào)錯(cuò)Failed to resolve filter問題的解決方法
- AngularJS過濾器filter用法總結(jié)
- JavaScript中filter的用法實(shí)例分析
相關(guān)文章
Angular2中監(jiān)聽數(shù)據(jù)更新的方法
今天小編就為大家分享一篇Angular2中監(jiān)聽數(shù)據(jù)更新的方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-08-08Angular 2父子組件數(shù)據(jù)傳遞之@Input和@Output詳解(下)
這篇文章主要給大家介紹了關(guān)于Angular 2父子組件數(shù)據(jù)傳遞之@Input和@Output的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-07-07AngularJS使用ui-route實(shí)現(xiàn)多層嵌套路由的示例
這篇文章主要介紹了AngularJS使用ui-route實(shí)現(xiàn)多層嵌套路由的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-01-01