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>  
Logo

前往低代码交流专区

更多推荐