vue-i18n中语言项不能使用对象

2020-05-13 10:11:03vue.js, i18n问题

比如我的语言包里是这样的:

{
    "a.b":[1,2,3]
}

调用

<div v-text="$t('a.b[0]')"></div>

按照官方文档,应该输入1的,
但是控制台报了个警告:

Value of key 'a.b[0]' is not a string!

这是官方文档:http://kazupon.github.io/vue-i18n/zh/guide/messages.html#结构

测试了一下

{
    "a":[1,2,3],
    "a.b":"123",
    "a.b":[1,2,3]
}

以上3种情况,1,2可以执行,第三种不行。可能不支持?

网友回答:

  • yune yune 2020-5-13 10:15 回复:

    建议不要在key里面用符号 “.”,eg:

en: {
  'ab': ['A', 'B', 'C'],
  'ac': {
    'd': ['D', 'E', 'F']
  }
}
<span v-text="$t('ab')[1]"></span>
<span v-text="$t('ac.d')[2]"></span>

分别输出 B , F