Какой хук жизненного цикла использовать для дочернего компонента для запуска после родительского в Vuejs?

#vue.js #vue-component #vuex

#vue.js #vue-компонент #vuex

Вопрос:

На родительском я запускаю это:

   mounted(){
    this.$store.dispatch('fetchNotesAction')
  },
components: { ChildComponent }
  

При этом хранилище Vuex заполняется данными.

Поэтому я предполагаю, что к моменту запуска дочернего компонента хранилище уже заполнено.

В ChildComponent я пытаюсь это

 mounted(){
    console.log(this.$store.getters.getNotes) 
  },
  

Если я запишу точно такой же код внутри родительского, после dispatch того, как он отобразит данные. Итак, код (соединение) за этими строками работает нормально, правильно ли я предполагаю, что мне не нужно снова запускать выборку (из fetchNotesAction )?

Я попробовал created вместо mounted и то же самое

Ответ №1:

Лучше всего использовать вычисляемое свойство, которое возвращает ваш получатель состояния, а затем использовать свойство watch для наблюдения за его изменениями в дочернем компоненте :

 computed:{
  notes(){
   return  this.$store.getters.getNotes;
   }
},
watch:{
  notes(newval,oldVal)'
    console.log(newval) 
  }
}