【问题标题】:Nuxt i18n wait for page components to load before changing lauguage specific texts on default.vueNuxt i18n 等待页面组件加载,然后再更改 default.vue 上的特定语言文本
【发布时间】:2020-08-03 03:03:35
【问题描述】:

现在我正在通过站点预取所有全局标签并将它们存储在 vuex 中。然后我通过计算方法将它们放入 default.vue,因此每次语言更改时,我都会获得更新的标签列表:

default.vue

 computed : {
        translations : function(){
            return this.$store.getters['getTranslationsByLocale'](this.$i18n.locale);
        }
}

问题是,当我更改语言环境(使用语言切换器链接)时,default.vue 中的标签会在主 nuxt 组件加载之前呈现。我想等待 nuxt 组件加载,然后使用新的语言文本呈现标签。

有人知道怎么做吗?感谢您的帮助。

【问题讨论】:

    标签: nuxt.js nuxt-i18n


    【解决方案1】:

    我在第一次充电时遇到了问题。我看到了<Nuxt /> 之外的组件,然后是给定子页面的全部内容。

    我用<v-app> 上的 v-if 指令解决了这个问题。默认值为 false,但该值会在挂钩挂载启动时更改。下面是 default.vue 文件的代码。

    <template>
      <v-app v-if="loading">
        <nuxt />
      </v-app>
    </template>
    
    <script>
    export default {
      data() {
        return {
          loading: false,
        }
      },
      mounted() {
        this.loading = true
      },
    }
    </script>
    

    【讨论】:

      猜你喜欢
      • 2021-07-31
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 2011-08-26
      • 2021-03-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多