Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vue.js 如何从非vue类调用vue i18n?_Vue.js_Element Ui_Vue I18n - Fatal编程技术网

Vue.js 如何从非vue类调用vue i18n?

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

我正在为vuejs应用程序使用

很好,除了如何从不是vue扩展的类访问翻译之外。下面是一个简单的类,包含可供ui使用的元素,例如:

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')导入后工作: