首頁 web前端 js教程 詳解AngularJS Filter(過濾器)用法_AngularJS

詳解AngularJS Filter(過濾器)用法_AngularJS

May 16, 2016 pm 03:23 PM

AngularJS的filter,中文名稱「過濾器」是用來過濾變數的值,或是格式化輸出,得到自己所期望的結果或格式的東東。

Filter簡介

Filter是用來格式化資料用的。

Filter的基本原型( ‘|' 類似Linux中的管道模式):

{{ expression | filter }}
登入後複製

Filter可以鍊式使用(即連續使用多個filter):

{{ expression | filter1 | filter2 | ... }}
登入後複製

Filter也可以指定多個參數:

{{ expression | filter:argument1:argument2:... }}
登入後複製

一、在視圖範本(View Template)中使用

在表達式中套用Filters (過濾器)

需要遵循格式如下:

{{ expression | filter }} 即 {{ 表達式 | 過濾器 }}

例如:{{ 12 | currency }} 輸出為 $12.00

在輸出結果中套用Filters (過濾器)

通俗點講就是Filter的疊加--前一filter的輸出結果作為後一filter的輸入資料來源.

需要遵循格式如下:

{{ expression | filter1 | filter2 | ... }} 即 表達式(expression)使用filter1過濾後再使用filter2過濾...

帶參數的Filter

Filter後面可以接一個或多個參數,用來幫助實現特殊要求、需求的filter.

需要遵循格式如下:

{{ expression | filter:argument1:argument2:... }}

範例: {{ 1234 | number:2 }} = 1,234.00

二、使用 AngluarJS 內建Filter

AngularJS為我們提供了9個內建的過濾器

分別是currency, date, filter, json, limitTo, uppercase, lowercase, number, orderBy。

具體的用法在AngularJS的文檔中都有詳細說明。下面只說幾個常用的。

currency filter(貨幣過濾器)

currency – 用來將變數轉換成貨幣表現形式

如:{{ amount | currency}}

uppercase/lowercase filter(字母大小寫filter)

如:

{{ "lower cap string" | uppercase }}
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, 這時候你需要將依賴的filter名字加入到controller, service或directive的依賴中去。

在controller中直接使用filter, 這樣controller可以依照自身需求而適時呼叫filter

三、自訂filter(濾網)

AngularJS寫自訂過濾器的形式和AngularJS的factory service非常相像,一定記得它傳回一個物件或是一個函數即可,寫的時候,只需要一個帶有一個以上參數的函數即可。

格式大致如:

app.filter('filter(过滤器)名称',function(){ 
return function(需要过滤的对象,过滤器参数1,过滤器参数2,...){ 
//...执行业务逻辑代码 
return 处理后的对象; 
}
}); 
登入後複製


本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

在JavaScript中替換字符串字符 在JavaScript中替換字符串字符 Mar 11, 2025 am 12:07 AM

在JavaScript中替換字符串字符

自定義Google搜索API設置教程 自定義Google搜索API設置教程 Mar 04, 2025 am 01:06 AM

自定義Google搜索API設置教程

示例顏色json文件 示例顏色json文件 Mar 03, 2025 am 12:35 AM

示例顏色json文件

8令人驚嘆的jQuery頁面佈局插件 8令人驚嘆的jQuery頁面佈局插件 Mar 06, 2025 am 12:48 AM

8令人驚嘆的jQuery頁面佈局插件

構建您自己的Ajax Web應用程序 構建您自己的Ajax Web應用程序 Mar 09, 2025 am 12:11 AM

構建您自己的Ajax Web應用程序

什麼是這個'在JavaScript? 什麼是這個'在JavaScript? Mar 04, 2025 am 01:15 AM

什麼是這個'在JavaScript?

通過來源查看器提高您的jQuery知識 通過來源查看器提高您的jQuery知識 Mar 05, 2025 am 12:54 AM

通過來源查看器提高您的jQuery知識

10張移動秘籍用於移動開發 10張移動秘籍用於移動開發 Mar 05, 2025 am 12:43 AM

10張移動秘籍用於移動開發

See all articles