Vue.js 如何从非vue类调用vue i18n?
我正在为vuejs应用程序使用 很好,除了如何从不是vue扩展的类访问翻译之外。下面是一个简单的类,包含可供ui使用的元素,例如:Vue.js 如何从非vue类调用vue i18n?,vue.js,element-ui,vue-i18n,Vue.js,Element Ui,Vue I18n,我正在为vuejs应用程序使用 很好,除了如何从不是vue扩展的类访问翻译之外。下面是一个简单的类,包含可供ui使用的元素,例如: import Validate from '@/services/Validate'; class FormValidate { public password(rule: any, value: string, callback: any) { callback(Validate.password(value) ? undefined : new E
import Validate from '@/services/Validate';
class FormValidate {
public password(rule: any, value: string, callback: any) {
callback(Validate.password(value) ? undefined : new Error('errors.passwordInvalid'));
}
}
export default new FormValidate();
上面的错误“errors.passwordInvalid”是翻译文件的密钥
在典型组件中,$t('errors.passwordInvalid')
将以正确的语言返回人性化字符串
如何从这个独立类访问翻译库?vue i18n github或上有一个线程。基本上,答案似乎是您应该将与i18n相关的代码从
main.js
文件分离到i18n.js
文件中。这可能看起来像:
导出默认的新VueI18n({
//这里有你所有的设置
})
然后将其作为纯js文件导入,
t()
方法应该在任何地方都可以使用 很好,谢谢!工作得很有魅力<代码>i18n.tc('errors.namevalid')导入后工作: