У меня есть компонент, который выглядит следующим образом:
export default {
name: 'todos',
props: ['id'],
created () {
this.fetchData()
},
data() {
return {
}
},
computed: {
todos () {
return this.$store.state.todos[this.id]
}
},
methods: {
async fetchData () {
if (!this.$store.state.todos.hasOwnProperty(this.id)) {
await this.$store.dispatch('getToDos', this.id)
}
}
}
}
Вот что происходит:
- Компонент получает
id
через реквизит.
Когда компонент загружается, мне нужно получить некоторые данные на основе идентификатора
У меня есть created()
ловушка, откуда я вызываю функцию fetchData()
для извлечения данных.
В методах функция fetchData()
отправляет действиечтобы получить данные.Он получает и сохраняет данные в хранилище Vuex.
Вычисленное свойство todos
получает данные для этого идентификатора.
Проблема заключается в том, чточто при первой загрузке страницы вычисленное свойство todos
отображается как неопределенное.Если я изменю страницу (на стороне клиента), то вычисленное свойство получает правильные данные из хранилища и отображает их.
Я не могу понять, почему вычисляемое свойство не обновляется?