解决vue-i18n国际化在data中用v-for循环出来的数据不更新
html中使用{{$t('XXXX')}}的数据就会跟着更新,data中定义的数组就没有更新。折腾了我很久,看到别人说用computed,蛮不现实的,因为使用数组定义的数据量太大,不可能一个个的去在computed中定义。看到了一位大神解决的,是最简单的解决方法了。这个思路应该是将js中不能自动更新的数据,全部放到html中渲染,而不是在js中调用this.$t('xxxx'),刚才说过了...
·
html中使用{{$t('XXXX')}}的数据就会跟着更新,data中定义的数组就没有更新。
折腾了我很久,看到别人说用computed,蛮不现实的,因为使用数组定义的数据量太大,不可能一个个的去在computed中定义。看到了一位大神解决的,是最简单的解决方法了。
这个思路应该是将js中不能自动更新的数据,全部放到html中渲染,而不是在js中调用this.$t('xxxx'),刚才说过了,html的数据会自动更新,那么data中的数据也就能一起更新了.
原文链接:https://segmentfault.com/q/1010000016993927
export default {
data () {
return {
theads: [
{name: 'EOSGame.shaiZi.part3'},
{name: 'EOSGame.shaiZi.part4'},
{name: 'EOSGame.shaiZi.part5'},
{name: 'EOSGame.shaiZi.part6'},
],
}
}
}
<div class = "thead">
<span v-for = "thead in theads" :key = "thead.name">{{$t(thead.name)}}</span>
</div>
更多推荐
已为社区贡献1条内容
所有评论(0)