Vue定義全局過濾器filter

這裏介紹的是多個過濾器一塊兒添加到全局中git

1.建立方法spa

首先src下新建plugin文件夾,用來存放插件。插件

在plugin文件夾內新建filters.js,編寫方法(如隱藏手機號碼等等...)code

/**
 * 隱藏手機號碼
 * @param val {Number, String} 轉換的字符串對象
 * @param retain {Number} 保留位數
 * @return {String}
 */
export privatePhone = function(val,retain = 4){
    if(!NUMBER(val) || String(val).length !== 11 || retain==0 ) return val;
    let phone = String(val)
    let digit = 11 - 3 - retain
    let reg = new RegExp(`^(\\d{3})\\d{${digit}}(\\d{${retain}})$`)
    return mobile.replace(reg,`$1${'*'.repeat(digit)}$2`)
}
 

2.添加到Vue全局中對象

在main.js中引入,添加blog

import * as filters from './plugins/filters.js'
Object.keys(filters).forEach(key=>{
    Vue.filter(key,filters[key])//插入過濾器名和對應方法
})
 

3.使用字符串

使用方法有兩種get

a.在雙花括號插值(用的較多)it

{{ phone | privatePhone }}
 

b.在v-bind表達式中使用io

<div v-bind:data=" phone | privatephone "></div>
 

PS:

參數的寫法:上述代碼中privatePhone的第一個參數便是phone

詳細的你們能夠看這:

https://www.jianshu.com/p/ad21df1914c5

相關文章
相關標籤/搜索