溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

vue如何實(shí)現(xiàn)全局過濾器注冊

發(fā)布時(shí)間:2022-03-23 10:04:34 來源:億速云 閱讀:466 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了vue如何實(shí)現(xiàn)全局過濾器注冊,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

全局過濾器注冊

1 一般情況

官方注冊過濾器的方式:

export default {
 data () { return {} },
 filters:{
 orderBy (){
 // doSomething
 },
 uppercase () {
 // doSomething
 }
 }
}

但是我們做項(xiàng)目來說,大部分的過濾器是要全局使用的,不會(huì)每每用到就在組件里面去寫,抽成全局的會(huì)更好些。官方注冊全局的方式:

// 注冊
Vue.filter('my-filter', function (value) {
 // 返回處理后的值
})
// getter,返回已注冊的過濾器
var myFilter = Vue.filter('my-filter')

但是分散寫的話不美觀,因此可以抽出成單獨(dú)文件。

2 優(yōu)化

我們可以抽出到獨(dú)立文件,然后使用Object.keys在main.js入口統(tǒng)一注冊 /src/common/filters.js

let dateServer = value => value.replace(/(\d{4})(\d{2})(\d{2})/g, '$1-$2-$3') 
export { dateServer }
/src/main.js
import * as custom from './common/filters/custom'
Object.keys(custom).forEach(key => Vue.filter(key, custom[key]))

然后在其他的.vue 文件中就可愉快地使用這些我們定義好的全局過濾器了

<template>
 <section class="content">
 <p>{{ time | dateServer }}</p> <!-- 2016-01-01 -->
 </section>
</template>
<script>
 export default {
 data () {
 return {
 time: 20160101
 }
 }
 }
</script>

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“vue如何實(shí)現(xiàn)全局過濾器注冊”這篇文章對大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,更多相關(guān)知識等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

vue
AI