Есть код, который я перенял у другого разработчика. Он использовал свойство POLL Vuex для инициализации некоторых компонентов. Я хотел использовать другой подход - получить объект на верхнем уровне и передать его как свойство вниз по течению к компонентам. Объект извлекается из метода asyn c из серверной части. Я думал, что Vue реактивность будет инициализировать реальное значение позже. Но я получаю сообщение об ошибке:
[Vue warn]: Property or method "poll" is not defined on the instance but referenced during render. Make sure that this property is reactive, either in the data option, or for class-based components, by initializing the property. See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.
found in
---> <PollHeading> at src/components/molecules/PollHeading.vue
<CompletePoll> at src/components/organisms/CompletePoll.vue
<Home> at src/views/Home.vue
Home. vue
<Poll v-if="this.$store.getters.LATEST_POLL" :item="this.$store.getters.LATEST_POLL" />
...
created() {
this.$store.dispatch('GET_LATEST_POLL');
},
CompletePoll. vue
<PollHeading :item="item"/>
...
props: {
item: Object,
},
PollHeading . vue
props: {
item: Object,
},
Я иду в неправильном направлении, и первоначальный разработчик был прав? Или есть способ как исправить мой подход? Он делал:
Заголовок опроса. vue (я переименовал в CompletePoll. vue)
computed: {
poll() {
return {
poll: this.$store.getters.POLL,
};
},