VueJs VueX vue-i18n实现翻译

时间:2018-06-16 06:49:57

标签: vuejs2 vuex vue-i18n

有一个main.js - > App.vue - > router / index.js - > Index.vue

在Index.vue中我试图运行vue-i18n(7.8.0),其中数据将由VueX商店提供:

// ...
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)

export default {
   name: 'index',
    // ...
    computed: {
    ...mapGetters({
      language: 'getLanguage',
      translations: 'getTranslations'
    }),
  },
  i18n: new VueI18n({
    locale: language,
    messages: translations,
  }),
  // ...
}

在store.js中,setLanguage和setTranslations的更新工作正常,但初始化时的i18n参数不是反应性的。在newVueI18n中使用固定值定义时,翻译工作正常。 我确信错误在我身边,但没有找到任何不同的实施方法。可以请任何人澄清并提出正确的方法吗? (如果可能的话,我希望保留现在的编码实现)

对不起,如果我夸大但在实现i18n组件时,我想知道如何从组件(Index.vue)访问主Vue实例以及如何在i18n模块上为其构造函数触发setter参数?谢谢!

1 个答案:

答案 0 :(得分:0)

我能够实现翻译功能:vuex-i18n(就像魅力一样)。