Vue.js?的過濾器你了解多少
一、過濾器作用
過濾器用于進行文本內容格式化處理。
二、過濾器的使用方式
過濾器可以在插值表達式和 v-bind 中使用。
三、過濾器的分類
- 全局過濾器
- 局部過濾器
四、全局過濾器
全局過濾器可以在任意Vue實例中使用。
語法書寫方式如下:
Vue.filter('過濾器名稱',function(value) { //邏輯代碼 return '處理結果'; })
注意:示例中的 | 豎線表示管道符。
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>15.全局過濾器</title> </head> <body> <div id="app"> <p v-bind:title="value | filterA">這是標簽</p> <p>{{ value | filterA }}</p> </div> <div id="app2"> <p v-bind:title="value | filterA">這是標簽</p> <p>{{ value | filter}}</p> </div> <script src="../01.vue.js入門/js/vue-2.6.14.js"></script> <script> Vue.filter('filterA',function (value) { return value.split('-').join(''); }) new Vue({ el: '#app', data: { value: 'a-b-c' } }) new Vue({ el: '#app2', data: { value: 'a-b-c' } }) </script> </body> </html>
• 全局過濾器可以將一個數(shù)據(jù)傳入到多個過濾器中進行處理。
<body> <div id="app"> <p>{{ value | filterA | filterB }}</p> </div> <script src="../01.vue.js入門/js/vue-2.6.14.js"></script> <script> Vue.filter('filterA',function (value){ console.log(value + ' filterA'); return value.split('-').join(''); }) Vue.filter('filterB',function (value) { console.log(value + ' filterB'); return value[0].toUpperCase() + value.slice(1); }) new Vue({ el: '#app', data: { value: 'a-b-c' } }) </script> </body>
• 一個過濾器可以傳入多個參數(shù)。
<body> <div id="app"> <!-- 注意:參數(shù)1永遠是管道符左邊的value --> <p>{{ value | filterC('TGW—',200)}}</p> </div> <script src="../01.vue.js入門/js/vue-2.6.14.js"></script> <script> Vue.filter('filterC', function(par1,par2,par3) { console.log(par1,par2,par3); return par2 + par1.split('-').join(''); }); new Vue({ el: '#app', data: { value: 'a-b-c' } }) </script> </body>
五、局部過濾器
• 局部過濾器只能在當前 Vue 實例中使用。其他的Vue實例中無法訪問。
<div id="app"> <p>{{ content | filterA }}</p> <p>{{ content2 | filterA }}</p> <p>{{ content | filterA | filterB }}</p> <p>{{ content | filterA | filterC('TGW—')}}</p> </div> <!-- <div id="app2"> <p>{{ content | filterA }}</p> </div> --> <script src="../01.vue.js入門/js/vue-2.6.14.js"></script> <script> new Vue({ el: '#app', data: { content: 'a-b-c', content2: 'd-e-f' }, filters: { filterA: function (value){ console.log(value); return value.split('-').join('') }, filterB: function (value) { return value.split('').reverse().join('') }, filterC (value,prefix) { return prefix + value; } } }) // new Vue({ // el: '#app2', // data: { // content: 'g-h-i' // } // }) </script> </body>
六、全局過濾器和局部過濾器重名現(xiàn)象
當我們出現(xiàn)全局過濾器和局部過濾器名字一樣時,那么我們再執(zhí)行的時候,是按照就近原則進行執(zhí)行的,所以執(zhí)行的是局部過濾器的代碼塊。
<body> <div id="app"> <p>{{ content | filterA }}</p> </div> <script src="../01.vue.js入門/js/vue-2.6.14.js"></script> <script> Vue.filter('filterA', function (value){ return value.split('').reverse().join('') }) new Vue({ el: '#app', data: { content: 'a-b-c' }, filters: { filterA (value) { return value.split('-').join('') } } }) </script> </body>
總結
本篇文章就到這里了,希望能給您帶來幫助,也希望您能夠多多關注腳本之家的更多內容!
相關文章
Element?UI/Plus中全局修改el-table默認樣式的解決方案
element ui官方封裝好的el-table組件,好用是挺好用的,但不可避免的是默認的樣式,下面這篇文章主要給大家介紹了關于Element?UI/Plus中全局修改el-table默認樣式的解決方案,需要的朋友可以參考下2023-02-02vue如何通過button的disabled控制按鈕能否被使用
這篇文章主要介紹了vue如何通過button的disabled控制按鈕能否被使用,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-04-04