Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ssis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在不重新加载vue.js中的页面的情况下翻译应用程序?_Vue.js_Vuejs2_Vue Component_Vuex_Vue Router - Fatal编程技术网

如何在不重新加载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