定义了一个 filter/index.js
文件,里面 export
出很多 function
,如下:
export function parseTime(time, cFormat) {
//省略逻辑部分
return time_str;
}
然后在 main
里面注册该过滤器,如下:
import * as filters from './filters'
Object.keys(filters).forEach(key => {
Vue.filter(key, filters[key])
});
项目多语言是通过vue-i18n
实现的,我想要实现一个功能,通过状态编号,配合过滤器,把状态id转换成相应语言的文字描述。
但是现在有一个问题,因为过滤器是一个js
文件,没办法this.$t()
这些方式来获取vue-i18n
对象,该怎么做呢?
思路:
1、分别把多语言都倒入到过滤器里面;
2、在过滤器中可以通过封装的模块获取当前语言,然后根据多语言决定使用哪个语言信息模块对象;
不过这么看来,vue.js 文件可以通过不刷新来切换多语言有点鸡肋了,以为模块化的话就必须有一部分单独提取到.js文件里面,但是.js文件里米娜的内容并不支持这种方式切换。
有人有更好的方法么?