Vue-i18n更改语言环境不更新所有内容

时间:2018-08-29 08:02:09

标签: vue.js vue-i18n

我是vue-i18n的新手,缝线很棒,但要使其正常工作可能会遇到一些挑战。

更改语言环境时,所有模板翻译都会按预期更新,但是

脚本

data() {
  return {
    locales: {
      en: this.$i18n.t('topnav.lang.english'),
      da: this.$i18n.t('topnav.lang.danish'),
      sw: this.$i18n.t('topnav.lang.swedish'),
      no: this.$i18n.t('topnav.lang.norwegian'),
    }
  }
},

模板

工作

{{$t('topnav.lang.english')}}

不工作

<a class="dropdown-item">{{locales.en}}</a>

不工作

<a class="dropdown-item" @click="changeLocale(key)" v-for="(value, key) in locales">{{value}}</a>

我尝试了很多事情,例如。延迟加载语言文件等等,但是没有运气。

1 个答案:

答案 0 :(得分:1)

从数据更改为计算后,数据并不是固有的反应性,但幸运的是,数据是反应性的!

另一种选择是,如果您不想使用计算机,则直接将翻译内容放入模板中