我试过这样做,但它不起作用.
// filter.js
export default {
converTimestamp: function (seconds) {
var date = new Date(seconds * 1000);
return date.toDateString();
}
};
// main.js
import customFilters from './store/filters';
Run Code Online (Sandbox Code Playgroud)
Dec*_*oon 41
这是一个例子:
// MyFilter.js
import Vue from 'vue';
Vue.filter('myFilter', value => {
return value.toUpperCase();
});
Run Code Online (Sandbox Code Playgroud)
// main.js
import './MyFilter.js';
Run Code Online (Sandbox Code Playgroud)
如果您不想全局注册过滤器,可以这样做:
// MyFilter.js
export default function (value) {
return value.toUpperCase();
}
Run Code Online (Sandbox Code Playgroud)
// MyComponent.vue
import MyFilter from './MyFilter.js';
export default {
filters: {
MyFilter,
},
};
Run Code Online (Sandbox Code Playgroud)
如果没有那么多过滤器,也可以在一个文件中定义它们:
// filters.js
export default {
filterA: () => {},
filterB: () => {},
}
Run Code Online (Sandbox Code Playgroud)
并将它们导入全球:
// main.js
import filters from './filters';
for(let name in filters) {
Vue.filter(name, filters[name]);
}
Run Code Online (Sandbox Code Playgroud)