1. 程式人生 > >AngularJS Filter(過濾器)用法

AngularJS Filter(過濾器)用法

icon 使用 currency 器) afa 只需要 變量轉換 string ase

一、在視圖模板(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 }}

    <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

      1. 可以在AngularJS的controller, service或者driective中使用filter, 這時候你需要將依賴的filter名字加入到controller, service或者directive的依賴中去。

      2. 2

        在controller中直接使用filter, 這樣controller可以根據自身需要而適時調用filter

        三、自定義filter(過濾器)

        1. 1

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

        2. 2

          格式大致如:

          app.filter(‘filter(過濾器)名稱‘,function(){

          return function(需要過濾的對象,過濾器參數1,過濾器參數2,...){

          //...執行業務邏輯代碼

          return 處理後的對象;

          }

          });

AngularJS Filter(過濾器)用法