0

我有一些返回简单数据的文件,例如 vuex 的 mutation.js,但通常它们是这样的:

export default {
 ...
 someFunction() {}
 ...
}

现在,我想访问this.,所以我可以使用 vue-i18n 翻译,this.$t('TRANS_TOKEN')但由于某种原因我无法使用this.我正在考虑将 vue 包含在这个文件中:如果它有效import vue from 'vue',可能会这样做,但我试过了vue.$t(..)它没有

4

1 回答 1

3

首先一个问题。为什么要在突变文件中进行翻译?我只会在您的组件中保留翻译。

但是,您可以通过这样做来实现您想要的

// i18n.js
const i18n = new VueI18n();

export default i18n;

// main.js
import VueI18n from 'vue-i18n';
import i18n from './i18n.js';

Vue.use(VueI18n);

new Vue({
    i18n,
    ...
});

// Anywhere else, grab the i18n instance to do translations
import i18n from './i18n.js';

i18n.t('translate this');

VueI18n实例上所有可用方法的文档。

于 2018-03-25T16:21:12.807 回答