Как предотвратить вызов родительского хука fetch () при переходе на дочернюю страницу по nuxt-ссылке? Это ошибка? - PullRequest
0 голосов
/ 27 апреля 2020

У меня проблема с родительским хуком fetch (), который вызывается при переходе на дочернюю страницу через nuxt-ссылку. Как решить эту проблему? Может быть, это nuxt. js ошибка? Чтобы достичь родительской -> дочерней структуры, я настроил свой проект в соответствии с шаблоном, приведенным в nuxt. js документация:
-parent. vue
-parent
- child1. vue
- child2. vue

Например, переход к Child1 по nuxt-ссылке: <nuxt-link to="/parent/child1">Child1</nuxt-link> вызывает вызов метода fetch () в parent.

Я много думаю у людей есть эта проблема. Заранее благодарим за помощь в решении этой проблемы.

Ответы [ 2 ]

0 голосов
/ 28 апреля 2020

Я уже нашел решение, которое очень просто. В моем случае я забыл добавить страницу по умолчанию для nuxt-child (создание файла index. vue в родительской папке), как показано ниже:
-parent. vue
-parent
- index. vue
- child1. vue
- child2. vue

После этого проблема решена, и родительский хук fetch () больше не вызывает. Ранее структура DOM не создавалась по умолчанию для дочерних страниц (файл index. vue не был создан), что приводило к обновлению родительского элемента при переходе на дочернюю страницу по nuxt-ссылке.

0 голосов
/ 27 апреля 2020

Взгляните на 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',
],
...