当通过nuxt链接转到子页面时,如何防止调用父fetch()钩子?是虫子吗



我的父fetch((钩子有问题,它是在通过nuxt链接转到子页面时调用的。如何解决这个问题?也许是nuxt.js bug?为了实现parent->child结构,我根据nuxt.js文档中给出的模式设置了我的项目:
-家长.vue
-父
--child1.vue
--child2.vue

例如,通过nuxt链接转到Child1:<nuxt-link to="/parent/child1">Child1</nuxt-link>会导致调用parent中的fetch((钩子。

我想很多人都有这个问题。提前感谢您帮助解决此问题。

查看Vue自定义选项合并策略https://v2.vuejs.org/v2/guide/mixins.html#Custom-期权合并策略

~/plugins/customizedmerge-fetch.js

import Vue from 'vue'
Vue.config.optionMergeStrategies.fetch = function (childFetch, parentFetch) {
// your logic
}

在nuxt.config.js 中

plugins: [
'~/plugins/custom-merge-fetch',
],

我已经找到了解决方案,它非常简单。在我的情况下,我忘记为nuxt子项添加默认页面(在父文件夹中创建index.vue文件(,如下所示:
-家长.vue
-父
--index.vue
--child1.vue
--child2.vue

完成此操作后,问题得到解决,父fetch((钩子不再调用。以前,默认情况下不会为子页面生成DOM结构(没有创建index.vue文件(,这导致在通过nuxt链接转到子页面时刷新父页面。

最新更新