#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)
}
}