微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 vue i18n 翻译 data/props 对象中的字符串?

如何解决如何使用 vue i18n 翻译 data/props 对象中的字符串?

我使用 Vuei18n 包。我的应用程序中有很多字符串在数据对象中定义或作为道具传递到自定义组件中,需要进行翻译。

data() {
  return {
     title: this.$t('main.title'),stuff: [
       {
         name: this.$t('main.name_1')
       },{
         name: this.$t('main.name_2')
       }
     ]
  }
}

MyCustomComponent(:name="$t('main.custom_component_name')")

问题是,如果我更改语言环境,这些字符串将不会被翻译。那些直接在模板部分定义的字符串在更改语言环境后立即按预期翻译。

解决方法

data 中的值不是响应式的,请尝试使用 computed

computed: {
  stuff() {
    return [{
        name: this.$t('main.name_1')
      },{
        name: this.$t('main.name_2')
      }]
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。