vue 国际化引入vue-i18n后,html正常,但是v-for里的data切换语言不起作用
代码如下:
html:
<div class = "a">
<span :class="{active: isTable == 'a'}" @click = "table('a')">{{ $t("EOSGame.shaiZi.part1") }}</span>
<span :class="{active: isTable == 'b'}" @click = "table('b')">{{ $t("EOSGame.shaiZi.part2") }}</span>
</div>
<div class = "thead">
<span v-for = "thead in theads" :key = "thead.name">{{thead.name}}</span>
</div>
js:
export default {
data () {
return {
theads: [
{name: this.$t('EOSGame.shaiZi.part3')},
{name: this.$t('EOSGame.shaiZi.part4')},
{name: this.$t('EOSGame.shaiZi.part5')},
{name: this.$t('EOSGame.shaiZi.part6')},
],
}
}
}
其中,part1和part2都可以点击按钮实时正常切换,但是v-for里的不会改变,但是如果刷新页面就会切换语言。
原因是什么呢?怎么样让theads里的也可以实时切换中英文?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
自己领悟
data是一次性生产的,你这么写只能是在 data 初始化的时候拿到这些被国际化的值,并不能响应变化。你可以把
theads
写到computed
里,这样就可以切了。