国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > WEB開發 > 正文

(9)AngularJS 1.X 之自定義過濾器

2024-04-27 15:12:19
字體:
來源:轉載
供稿:網友

引言自定義過濾器1 自定義沒有屬性的過濾器2 自定義有屬性的過濾器3 自定義過濾器中使用服務

1.引言

      在上一篇博客中我們說了9個AngularJS提供的過濾器,在真實開發環境中AngularJS提供的9中過濾器遠遠不能滿足我們的需求,在很多的時候我們需要自定義我們自己的過濾器,在本篇博客中我們就介紹一下如何創建我們自己的過濾器,然后如何在表達式中創建自己的過濾器,如何在過濾器服務中使用自己的過濾器。

2.自定義過濾器

      在自定義過濾器之前,我們先看看一個AngularJS提供的過濾器都有哪幾部分組成,我們看{{ orderBy_exPRession | orderBy : expression : reverse}},分析這個過濾器大致可以分為三部分:

過濾器的名稱過濾器要處理的數據(也就是過濾器的輸入值)過濾器所需要的屬性(屬性是可選的)

      通過上面的分析,我們可以知道一個過濾器分為三個部分,屬性是可選的,過濾器的名稱是必須的,過濾器所處理的數據也是必須的,現在我們就自定義兩個過濾器。

2.1 自定義沒有屬性的過濾器

      我們創建一個過濾器,所實現的功能:將hello js替換成hello javascript,過濾器的名稱為myFilter

引入AngularJS函數庫(略)創建自定義的過濾器(myFilter) //創建了一個過濾器 var app=angular.module("myApp",[]); app.filter('myFilter',function(){ return function(input){ //input為我們表達式的輸出值,也就是hello js //這個函數的返回值就是過濾器的返回值 return input.replace(/js/, "Javascript"); } });在表達式中使用我們自定義的過濾器{{"hello js"|myFilter}}//輸出結果為hello javascript

2.2 自定義有屬性的過濾器

      我們創建一個過濾器:過濾器的名稱為myFilter,過濾器可以填寫一個屬性,這個屬性是boollen類型,如果是true,那么將hello js替換成hello javascript,如果false,那么將hello js替換成hello JAVASCRIPT,接下來我們實現這個過濾器。

引入AngularJS函數庫(略)創建自定義的過濾器(myFilter) var app=angular.module("myApp",[]); app.filter('myFilter',function(){ return function(input,attr){ //input為我們表達式的輸出值,也就是hello js //attr是我們輸入的屬性值,如果可以輸入兩個屬性,那么在函數中繼續添加屬性 //這個函數的返回值就是過濾器的返回值 if(attr){ return input.replace(/js/, "javascript"); }else{ return input.replace(/js/, "JAVASCRIPT"); } } });在表達式中使用我們的過濾器{{"hello js"|myFilter:true}}//輸出結果為:hello javascript{{"hello js"|myFilter:false}}//輸出結果為:hello JAVASCRIPT

2.3 自定義過濾器中使用服務

      在創建我們的過濾器時,我們可以將服務注入進去,只要有供應商的服務都可以注入到過濾器方法中,現在我們就在自定義過濾器中使用服務,現在我們自定義一個自己的過濾器,實現的功能為:將字符串轉換為大寫:

創建過濾器 var app=angular.module("myApp",[]); app.filter('myLowercase',function($filter){ return function(input){ //input為我們表達式的輸出值,也就是hello js //$filter就是注入進來的過濾器服務 return $filter("lowercase")(input); } });使用我們的表達式{{"HELLO JS"|myLowercase}}//運行結果為:hello js
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: SHOW| 辽中县| 南部县| 明溪县| 古丈县| 潞西市| 呼图壁县| 鹤峰县| 肥西县| 凤翔县| 盘锦市| 永仁县| 通辽市| 宁都县| 柳河县| 夏津县| 泸州市| 综艺| 新宁县| 广东省| 潞城市| 长顺县| 兴山县| 宜城市| 宽甸| 新津县| 若羌县| 桦川县| 尼木县| 右玉县| 泰兴市| 岑巩县| 鲜城| 尼玛县| 揭西县| 永川市| 东山县| 耿马| 那坡县| 吴堡县| 丰都县|