【问题标题】:VueJs VueX vue-i18n Implementation of translationVueJs VueX vue-i18n 翻译的实现
【发布时间】:2018-06-16 06:49:56
【问题描述】:

有一个 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?谢谢!

【问题讨论】:

  • 尝试将 i18n 作为选项添加到 main.js 中的根 Vue 实例构造函数,您可以在其中将 Vue 实例安装到页面中的元素。

标签: vuejs2 vuex vue-i18n


【解决方案1】:

我能够使用 vuex-i18n 实现翻译功能(就像一个魅力)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 2020-05-06
    • 2019-01-05
    • 1970-01-01
    • 1970-01-01
    • 2017-02-27
    相关资源
    最近更新 更多