首頁 web前端 js教程 詳解AngularJS過濾器的使用_AngularJS

詳解AngularJS過濾器的使用_AngularJS

May 16, 2016 pm 03:10 PM
angularjs 過濾器

AnularJS的過濾器用來格式化需要展示給使用者的數據,有很多實用的內建過濾器,也可以自己寫。

在HTML中的模板綁定符號{{ }}內透過|符號來呼叫過濾器。例如,假設我們希望將字串
轉換成大寫,可以對字串中的每個字元都單獨進行轉換操作,也可以使用過濾器:

{{ name | uppercase }}
在JavaScript程式碼中可以透過$filter來呼叫過濾器。例如,在JavaScript程式碼中使用lowercase
過濾器:

app.controller('DemoController', ['$scope', '$filter',
function($scope, $filter) {
$scope.name = $filter('lowercase')('Ari');
}]);
登入後複製

以HTML的形式使用過濾器時,如果需要傳遞參數給過濾器,只要在過濾器名字後面加冒號
即可。如果有多個參數,可以在每個參數後面都加入冒號。例如,數值過濾器可以限制小數點後
的位數,在過濾器後寫上:2可以將2作為參數傳給過濾器:

<!-- 显示:123.46 -->
{{ 123.456789 | number:2 }}
登入後複製

1. currency
currecy過濾器可以將一個數值格式化為貨幣格式。用{{ 123 | currency }}將123轉換
成貨幣格式。
currecy過濾器允許我們自行設定貨幣符號。預設會採用客戶端所處區域的貨幣符號,
但是也可以自訂貨幣符號。
2. date
date過濾器可以將日期格式化成需要的格式。 AngularJS內建了幾種日期格式,如果沒有
指定使用任何格式,預設會採用mediumDate格式,在下面的範例中展示了這個格式。
下面是內建的支援本地化的日期格式:

{{ today | date:'medium' }} <!-- Aug 09, 2013 12:09:02 PM -->
{{ today | date:'short' }} <!-- 8/9/1312:09PM -->
{{ today | date:'fullDate' }} <!-- Thursday, August 09, 2013 -->
{{ today | date:'longDate' }} <!-- August 09, 2013 -->
{{ today | date:'mediumDate' }}<!-- Aug 09, 2013 -->
{{ today | date:'shortDate' }} <!-- 8/9/13 -->
{{ today | date:'mediumTime' }}<!-- 12:09:02 PM -->
{{ today | date:'shortTime' }} <!-- 12:09 PM -->
登入後複製

年份格式
四位年份:{{ today | date:'yyyy' }}
兩位年份:{{ today | date:'yy' }}
一位年份:{{ today | date:'y' }}
月份格式化
英文月份:{{ today | date:'MMMM' }}
英文月份簡寫:{{ today | date:'MMM' }}
數字月份:{{ today |date:'MM' }}
一年中的第幾個月份:{{ today |date:'M' }}
日期格式化
數字日期:{{ today|date:'dd' }}
一個月中的第幾天:{{ today | date:'d' }}
英文星期:{{ today | date:'EEEE' }}
英文星期簡寫:{{ today | date:'EEE' }}
小時格式化
24小時制數字小時:{{today|date:'HH'}}
一天中的幾小時:{{today|date:'H'}}
12小時制數字小時:{{today|date:'hh'}}
上午或下午的第一個小時:{{today|date:'h'}}
分鐘格式化
數字分鐘數:{{ today | date:'mm' }}
一小時中的第幾分鐘:{{ today | date:'m' }}
秒數格式化
數字秒數:{{ today | date:'ss' }}
一分鐘內的第幾秒:{{ today | date:'s' }}
毫秒數:{{ today | date:'.sss' }}
以下是一些自訂日期格式的範例:

{{ today | date:'MMMd, y' }} <!-- Aug9, 2013 -->
{{ today | date:'EEEE, d, M' }} <!-- Thursday, 9, 8-->
{{ today | date:'hh:mm:ss.sss' }} <!-- 12:09:02.995 -->
登入後複製

filter

filter過濾器可以從給定數組中選擇一個子集,並將其產生一個新數組傳回。

例如,用下面的過濾器可以選擇所有包含字母e的單字:

{{ ['Ari','Lerner','Likes','To','Eat','Pizza'] | filter:'e' }}
<!-- ["Lerner","Likes","Eat"] -->
登入後複製

如果要過濾對象,可以使用上面提到的對象過濾器。例如,如果有一個由people物件組成的
數組,每個物件都含有他們最喜歡吃的食物的列表,那麼可以用下面的形式進行過濾:

{{ [{
'name': 'Ari',
'City': 'San Francisco',
'favorite food': 'Pizza'
},{
'name': 'Nate',
'City': 'San Francisco',
'favorite food': 'indian food'
}] | filter:{'favorite food': 'Pizza'} }}
<!-- [{"name":"Ari","City":"SanFrancisco","favoritefood":"Pizza"}] -->
登入後複製

也可以用自訂函數過濾(在這個範例中函數定義在$scope上):

{{ ['Ari','likes','to','travel'] | filter:isCapitalized }}
<!-- ["Ari"] -->
登入後複製

isCapitalized函數的功能是根據首字母是否為大寫傳回true或false,具體如下所示:

$scope.isCapitalized = function(str) {
return str[0] == str[0].toUpperCase();
};
登入後複製

自訂過濾器

首先,建立一個模組用以在應用程式中進行引用

angular.module('myApp.filters', [])
.filter('capitalize', function() {
return function(input) {
// input是我们传入的字符串
if (input) {
return input[0].toUpperCase() + input.slice(1);
}
});
登入後複製

現在,如果想將一個句子的首字母轉換成大寫形式,可以用過濾器先將整個句子都轉換成小
寫,再把首字母轉換成大寫:

<!-- Ginger loves dog treats -->
{{ 'ginger loves dog treats' | lowercase | capitalize }}
登入後複製

以上就是AngularJS過濾器的使用方法,希望對大家的學習有所幫助。

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

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

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

Vue報錯:無法正確使用filters中的過濾器,怎麼解決? Vue報錯:無法正確使用filters中的過濾器,怎麼解決? Aug 26, 2023 pm 01:10 PM

Vue報錯:無法正確使用filters中的過濾器,怎麼解決?引言:在Vue中,過濾器(filters)是常用的功能,可以用來格式化資料或過濾。然而,在使用過程中,有時我們可能會遇到無法正確使用過濾器的問題。本文將介紹一些常見的原因和解決方法。一、原因分析:過濾器未正確註冊:Vue中的過濾器需要先註冊,才能在模板中使用。如果過濾器未成功註冊,

2022年最新5款的angularjs教學從入門到精通 2022年最新5款的angularjs教學從入門到精通 Jun 15, 2017 pm 05:50 PM

Javascript 是一個非常有個性的語言. 無論是從程式碼的組織, 還是程式碼的程式設計範式, 或物件導向理論都獨具一格. 而很早就在爭論的Javascript 是不是物件導向語言這個問題, 顯然已有答案. 但是, 即使Javascript 叱吒風雲二十年, 如果想要看懂jQuery, Angularjs, 甚至是React 等流行框架, 觀看《黑馬雲課堂JavaScript 高級框架設計視頻教程》就對了。

使用PHP和AngularJS建立響應式網站,提供優質的使用者體驗 使用PHP和AngularJS建立響應式網站,提供優質的使用者體驗 Jun 27, 2023 pm 07:37 PM

在現今資訊時代,網站已成為人們獲取資訊和交流的重要工具。一個響應式的網站能夠適應各種設備,為使用者提供優質的體驗,成為了現代網站開發的熱點。本篇文章將介紹如何使用PHP和AngularJS建立響應式網站,進而提供優質的使用者體驗。 PHP介紹PHP是一種開源的伺服器端程式語言,非常適合Web開發。 PHP具有許多優點,如易於學習、跨平台、豐富的工具庫、開發效

Vue技術開發中如何進行資料篩選與排序 Vue技術開發中如何進行資料篩選與排序 Oct 09, 2023 pm 01:25 PM

Vue技術開發中如何進行資料篩選和排序在Vue技術開發中,資料篩選和排序是非常常見且重要的功能。透過資料篩選和排序,我們可以快速查詢和展示我們需要的信息,提高用戶體驗。本文將介紹在Vue中如何進行資料篩選和排序,並提供具體的程式碼範例,幫助讀者更好地理解和運用這些功能。一、資料篩選資料篩選是指依照特定的條件篩選出符合要求的資料。在Vue中,我們可以透過comp

PHP電子郵件過濾器:過濾並辨識垃圾郵件。 PHP電子郵件過濾器:過濾並辨識垃圾郵件。 Sep 19, 2023 pm 12:51 PM

PHP電子郵件過濾器:過濾並辨識垃圾郵件。隨著電子郵件的廣泛應用,垃圾郵件的數量也不斷增加。對於用戶來說,接收到的大量垃圾郵件會導致資訊過載和時間浪費。因此,我們需要一種高效的方法來過濾和識別垃圾郵件。本文將介紹如何使用PHP編寫一個簡單但有效的電子郵件篩選器,並提供具體的程式碼範例。郵件過濾器基本原理郵件過濾器的基本原理是透過分析郵件的內容和屬性,判斷其是否

Vue3中的過濾器函數:優雅的處理數據 Vue3中的過濾器函數:優雅的處理數據 Jun 18, 2023 pm 02:46 PM

Vue3中的過濾器函數:優雅的處理資料Vue是一個流行的JavaScript框架,擁有龐大的社群和強大的插件系統。在Vue中,過濾器函數是一種非常實用的工具,允許我們在模板中對資料進行處理和格式化。 Vue3中的過濾器函數有了一些改變,在這篇文章中,我們將深入探討Vue3中的過濾器函數,學習如何使用它們優雅地處理資料。什麼是濾波器函數?在Vue中,過濾器函數是

在PHP中,FILTER_VALIDATE_URL常數表示用於驗證URL的篩選器 在PHP中,FILTER_VALIDATE_URL常數表示用於驗證URL的篩選器 Sep 14, 2023 am 10:37 AM

FILTER_VALIDATE_URL常數用於驗證URL。標誌FILTER_FLAG_SCHEME_REQUIRED−URL必須符合RFC標準。 FILTER_FLAG_HOST_REQUIRED−URL必須包含主機名稱。 FILTER_FLAG_PATH_REQUIRED−URL必須在網域後面有路徑。 FILTER_FLAG_QUERY_REQUIRED−URL必須有查詢字串。傳回值FILTER_VALIDATE_URL

Vue 中使用插件實現自訂過濾器的技巧 Vue 中使用插件實現自訂過濾器的技巧 Jun 25, 2023 pm 05:01 PM

Vue中使用插件實作自訂過濾器的技巧Vue.js提供了一種方便的方式來處理視圖資料過濾的需求,即過濾器(Filter)。過濾器主要負責將視圖中的資料進行格式化和處理,使資料更加直觀和易於理解。 Vue內建了一些常用的過濾器,例如日期格式化、貨幣格式化等,同時也支援自訂過濾器。本文將介紹如何使用Vue插件實作自訂過濾器的技巧,並提供一些實用的過濾

See all articles