Vue.js Nuxt防止为每个页面重新加载布局

Vue.js Nuxt防止为每个页面重新加载布局,vue.js,nuxt.js,Vue.js,Nuxt.js,当加载(创建)布局时,我正在从api获取数据。因为数据需要时间并且不会改变,所以我只想在创建布局并将其存储时加载一次。问题是每个页面导航都会调用api 有没有办法防止重新加载布局(为每个页面创建)?如果你不想每次都提取数据,你可以像这样使用存储 在要获取数据的已创建钩子中,检查数据是否已存储 computed: mapState([ 'yourData' ]), created(){ if(!yourData){ // now you can fetch everythi

当加载(创建)布局时,我正在从api获取数据。因为数据需要时间并且不会改变,所以我只想在创建布局并将其存储时加载一次。问题是每个页面导航都会调用api


有没有办法防止重新加载布局(为每个页面创建)?

如果你不想每次都提取数据,你可以像这样使用存储

在要获取数据的已创建钩子中,检查数据是否已存储

computed: mapState([
   'yourData'
]),
created(){
   if(!yourData){
      // now you can fetch everything you want 
   }
}

我在应用商店中使用nuxtServerInit方法解决了我的问题。我还用nuxt链接替换了我的锚定标记

    //store/index.js
   ...
    async nuxtServerInit({ commit }) {
    try {
      await this.$axios.get("regions/get-all", config).then((res) => {
        if (res.status === 200) {
          commit("setRegions", res.data.regions);         
         
        }
      });
    } catch (e) {
      console.log(e);
    }    
  },

谢谢你的回答。我试过了,但没用。我使用nuxtServerInit函数store/index.js解决了我的问题,并使用nuxt链接而不是锚定标记。如下面的回答所示