我对父fetch()挂钩有问题,该挂钩在通过nuxt-link进入子页面期间被调用。如何解决这个问题?也许是nuxt.js错误?为了实现父级->子级结构,我根据nuxt.js文档中给出的模式设置了项目:
-parent.vue
-父母
--child1.vue
--child2.vue
例如,通过nuxt-link进入Child1:<nuxt-link to="/parent/child1">Child1</nuxt-link>
会导致在父对象中调用fetch()钩子。
我认为很多人都有这个问题。预先感谢您为解决此问题所提供的帮助。
答案 0 :(得分:0)
看看Vue自定义选项合并策略https://vuejs.org/v2/guide/mixins.html#Custom-Option-Merge-Strategies
〜/ plugins / custom-merge-fetch.js
import Vue from 'vue'
Vue.config.optionMergeStrategies.fetch = function (childFetch, parentFetch) {
// your logic
}
在nuxt.config.js中
plugins: [
'~/plugins/custom-merge-fetch',
],
答案 1 :(得分:0)
我已经找到了解决方案,这很简单。在我的情况下,我忘记为nuxt-child添加默认页面(在父文件夹中创建index.vue文件),如下所示:
-parent.vue
-父母
--index.vue
--child1.vue
--child2.vue
执行此操作后,问题已解决,并且父fetch()挂钩不再调用。以前,默认情况下不会为子页面生成DOM结构(未创建index.vue文件),这会导致在通过nuxt-link进入子页面时刷新父页面。