如何在不重新加载vue.js中的页面的情况下翻译应用程序?
我想把我的应用程序英语翻译成德语。 在语言更改事件中,我编写了以下代码如何在不重新加载vue.js中的页面的情况下翻译应用程序?,vue.js,vuejs2,vue-component,vuex,vue-router,Vue.js,Vuejs2,Vue Component,Vuex,Vue Router,我想把我的应用程序英语翻译成德语。 在语言更改事件中,我编写了以下代码 changeLocale (locale) { i18n.locale = locale.language VueCookies.set('UserLanguage', locale.language) // window.location.reload() this one is reloading page this.$root.reload() // this one
changeLocale (locale) {
i18n.locale = locale.language
VueCookies.set('UserLanguage', locale.language)
// window.location.reload() this one is reloading page
this.$root.reload() // this one is not working
},
我想在vuejs文件中转换这些数据:
DashboardData: [{'name': this.$t('IVR')}, {'name': this.$t('DTML')}, {'name': this.$t('SSH')}]
如果我执行window.location.reload(),它会工作得很好
但是我不想重新加载页面,所以我正在考虑在vue中重新加载root,对此我不确定
有没有办法重新加载整个应用程序的根元素或所有属性 如果您只是想通过vue.js执行安全重新加载,有一个简单的方法可以使用
vm.$forceUpdate();
要了解更多信息,请转到如果您只是试图通过vue.js执行安全重新加载,有一个简单的方法可以使用
vm.$forceUpdate();
有关更多信息,请转到为什么重新加载?我使用的是vue-i18n,不重新加载页面。代码如下: home.vue
<v-list-tile @click="locale='fr'">
...
watch:{
locale(val) {
this.$i18n.locale=val;
}
},
mounted: function() {
this.locale = this.$i18n.locale;
},
为什么要重新加载?我使用的是vue-i18n,不重新加载页面。代码如下: home.vue
<v-list-tile @click="locale='fr'">
...
watch:{
locale(val) {
this.$i18n.locale=val;
}
},
mounted: function() {
this.locale = this.$i18n.locale;
},
我尝试了这个,但在这种情况下不起作用。实际上,我想在vue中重新加载root的所有属性。如果您只是尝试翻译页面。。。你可以试试看,我只使用那个,而且翻译可以(如果重新加载页面)但当我将数据vue传递到HTML时,我需要重新加载页面进行翻译,但我不想重新加载页面我尝试了此页面,但在这种情况下它不起作用。实际上,我想重新加载vue中的所有root属性。如果您只是尝试翻译页面。。。你可以试试看,我只使用了这个,翻译也可以(如果页面重新加载),但是当我将数据vue传递到HTML时,我需要重新加载页面进行翻译,但我不想重新加载页面。如果你尝试在
数据块中使用,$t
是未定义的。您可以尝试改用this.$i18n.t
,或者将仪表板数据
移动到一个计算属性,并继续使用this.$t
。我认为this.$t
是未定义的,如果您尝试在数据
块中使用它。您可以尝试改用this.$i18n.t
,或者将仪表板数据
移动到计算属性并继续使用this.$t
。