i18n 文本更新语言不适用于脚本

i18n text update language didn't work on script

我正在研究多语言 i18n,我已经准备好一切并尝试翻译 HTML 文本例如:

<q-item-section>{{ $t('display') }}</q-item-section>

它工作正常,但我现在的问题是在脚本中更新 txt,就像我有这样的部分:

<q-item-section >{{HideMore}}</q-item-section>

然后进入数据(myscript)我试过了:

HideMore: this.$t('hide')

好的,现在它显示了 txt,但是当我尝试切换语言时实际上没有发生任何事情(txt 没有更新)。

据我所知,您不能在 data 对象中使用这个(或任何函数)。

当我遇到这个问题时,我把它放在一个计算变量中:

computed: {
    breadcrumbs: function(){
        return [{
            text: this.$t('locations.titlePlural')
        }]
    },
}, 

编辑:

我发现当你这样定义数据时属性:

data: function () {
    return {
        propName: this.someFunction()
    }
},

您实际上可以调用 this 方法,因为您可以调用 return 一个值的方法!

Vue docs