Vue2 全局過濾器(vue-cli)


先看官方簡介:

當前組件注冊:

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

但是我們做項目來說,大部分的過濾器是要全局使用的,不會每每用到就在組件里面去寫,嗯,還是抽成全局的會更好些。

全局注冊:(官網https://cn.vuejs.org/v2/api/#filters

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

當項目所用到的過濾器比較多時,就想試着把所有的方法定義在一個文件里面導出,嗯,畢竟還是有分點層次的。

/src/common/filters/custom.js

let dateServer = value => {
  return 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>

 

——————分割線:2017年7月18日
Demo示例請點擊這里查看。
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM