#node.js #vuex
#node.js #vuex
Вопрос:
Привет, это отладочная картинка моего хранилища. Мне интересно получить массив, найденный в:
магазин -> состояние -> лекарства -> все -> предметы
Как вы можете видеть, массив заполнен данными (ранее загруженными через мутацию). Когда я пытаюсь распечатать массив с помощью:
console.log(this.$store.state.medicines.all.items)
Я получаю undefined.
data() {
return {
meds: []
}
},
computed: {
...mapState({
medicines: state => state.medicines.all
})
},
created() {
this.getAllMeds()
this.printMedicines()
},
methods: {
...mapActions('medicines', {
getAllMeds: 'getAll'
}),
printMedicines() {
let medications = this.$store.state.medicines.all.items
console.log(medications)
}
}
Редактировать: я включил фрагмент кода для дальнейшего разъяснения.
Комментарии:
1. Откуда вы пытаетесь сделать журнал?
2. В методе внутри методов: который я вызываю затем в created() после того, как я вызываю свой метод мутации getAllMeds() .
3. Что происходит при
getAllMeds
мутации? Получает ли он данные с сервера?4. Да, он загружает все лекарства и изменяет состояние лекарств . Эта часть работает хорошо, я протестировал ее с помощью инструмента разработки Vue, чтобы убедиться. Я отредактирую сообщение с некоторыми фрагментами кода, может быть, вы сможете понять это таким образом.
5. Похоже, что данные возвращаются асинхронно и, возможно, они еще не были загружены к моменту запуска
console.log
.