在實際項目開發中,在某一組件中聲明的全局過濾器Vue.filter並不能在其他組件中使用,所以,我認爲只要調用兩次以上或者可能會被調用兩次以上的過濾器,就應該寫入統一個過濾器文件中,方便統一調用。下面是如果創建並調用統一的過濾器的方法:
1.在公用js文件夾中新建文件filters.js
2.在filters.js中使用es6寫法寫入(因爲我用的是vue-cli,自帶babel組件一套,可以自動轉換es6寫法到es5,所以不用考慮兼容性)
- let formatDate = time => {
- if(time){
- return time.slice(5,16)
- }
- }
- export { formatDate }
- import * as filters from './assets/js/filters.js'
- Object.keys(filters).forEach(key => {
- Vue.filter(key, filters[key])
- })
- <h2>時間:<span>{{createTime | formatDate(createTime)}}</span></h2>
其實這種簡單的截取字符串直接在標籤上寫入也可以,這只是舉個例子