vue全局過濾器概念及注意事項和基本使用方法
更新時間:2021年11月22日 09:21:44 作者:huxiaoxiao
這篇文章主要給大家分享了vue全局過濾器概念及注意事項和基本使用方法,下面文字圍繞vue全局過濾器的相關(guān)資料展開具體的詳細(xì)內(nèi)容,需要的朋友可以參考一下,希望對你有所幫助
一.過濾器的概念
Vue.js允許你自定義過濾器,可被用作一些常見的文本格式化,過濾器可以用在兩個地方:mustache 插值和 v-bind 表達(dá)式
1.自定義一個全局過濾器的格式
Vue.filter('過濾器將來被調(diào)用時候的名稱',過濾器的處理函數(shù))
二、過濾器的調(diào)用方法
<!-- 在調(diào)用過濾器是時候,需要使用 | 來調(diào)用, | 叫做管道符 --> <td>{{item.ctime | formatDate}}</td>
在過濾器的處理函數(shù)中,第一個形參作用是已經(jīng)被固定死的,永遠(yuǎn)是 管道符 前面的值
// 這里的 data 就是管道符前面的 item.ctime 的值 Vue.filter('formatDate',function(data){ }) // 過濾器中必須有一個返回值
三.過濾器的注意事項
- Vue.filter('過濾器的名稱',過濾器的處理函數(shù))
- 注意:過濾器的處理函數(shù)中,第一個形參,功能已經(jīng)被規(guī)定好了,永遠(yuǎn)都是 管道符 前面的值
- 調(diào)用過濾器
{{item.ctime | formmatDate}}?
在調(diào)用過濾器是時候,需要使用 | 來調(diào)用, | 叫做管道符? - 在調(diào)用 過濾器的時候可以傳遞參數(shù),
{{item.ctime | formmatDate('傳遞參數(shù)')}}
- 注意:調(diào)用過濾器傳遞的參數(shù),只能從 從處理函數(shù)的第二個 形參開始接收,因為第一個形參已經(jīng)被 管道符 前面的值占用了
- 注意:過濾器的處理函數(shù)中必須返回一個值
- 可以連續(xù)使用管道符 調(diào)用多個過濾器,最終輸出的結(jié)果,永遠(yuǎn)以最后一個過濾器為準(zhǔn)
- 注意:過濾器只能使用在 插值表達(dá)式或
v-bind
中,不能使用在其他地方,比如v-text
中
四、基本使用方法
在頁面上通過
vue
插值表達(dá)式在頁面上 渲染 一句話<div id="app"> <h3>{{mes}}</h3> </div>
<script src="./js/vue.js"></script> <script> let vm = new Vue({ el:'#app', data:{ mes:"我是一個悲觀的人,悲觀的人做悲觀的事" } }) </script>
要求:要求:把 “悲觀”這兩個字替換成"開朗",前提是 不可以更改? Vue中的mes源數(shù)據(jù)
先在script標(biāo)簽中自定義一個全局過濾器,過濾器名稱自己起:
Vue.filter('setStr',function(data){ })
在過濾器中定義一個方法:
Vue.filter('setStr',function(data){ // 過濾器中必須有一個返回值 return data.replace(/悲觀/g,'開朗') // 使用字符串操作方法 replace 替換字符串內(nèi)某些元素為其他元素,g 代表全局匹配 })
然后再 插值表達(dá)式中 調(diào)用過濾器
<div id="app"> <h3>{{mes | setStr}}</h3> </div>
此時去頁面查看效果:

一個基本的過濾器就定義好了
我們還可以在 過濾器函數(shù)中給上形參,不在方法中給定要替換的 字符
Vue.filter("strFormat",function(data,str){ // 可以在data后面給個形參 // 在過濾器中,必須要有返回值 return data.replace(/悲觀/g,str) // 使用字符串操作方法 replace 替換字符串內(nèi)某些元素為其他元素,g 代表全局匹配 })
然后再調(diào)用時給上實參:
<div id="app"> <h3>{{mes | setStr("粗心")}}</h3> </div>
查看結(jié)果:

也可以在形參里給上默認(rèn)值,在調(diào)用時如果不給實參,則輸出默認(rèn)值,如果給實參則輸出實參的值
<div id="app"> <h3>{{mes | setStr}}</h3> </div> <script src="./js/vue.js"></script> <script> Vue.filter('setStr',function(data,str="細(xì)心"){ // 過濾器中必須有一個返回值 return data.replace(/悲觀/g,str) // 使用字符串操作方法 replace 替換字符串內(nèi)某些元素為其他元素,g 代表全局匹配 })
結(jié)果為:

到此這篇關(guān)于 vue全局過濾器概念及注意事項和基本使用方法的文章就介紹到這了,更多相關(guān) vue全局過濾器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用Vue3 (一)創(chuàng)建Vue CLI 項目
這篇文章主要介紹利用Vue3 創(chuàng)建Vue CLI 項目,下面文章內(nèi)容附有官方文檔鏈接,安裝過程,需要的可以參考一下2021-10-10Vue數(shù)據(jù)代理的實現(xiàn)流程逐步講解
通過一個對象代理對另一個對象中的屬性的操作(讀/寫),就是數(shù)據(jù)代理。要搞懂Vue數(shù)據(jù)代理這個概念,那我們就要從Object.defineProperty()入手,Object.defineProperty()是Vue中比較底層的一個方法,在數(shù)據(jù)劫持,數(shù)據(jù)代理以及計算屬性等地方都或多或少的用到了本函數(shù)2023-01-01使用vue.js實現(xiàn)聯(lián)動效果的示例代碼
本篇文章主要介紹了使用vue.js實現(xiàn)聯(lián)動效果的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01