【发布时间】:2018-05-16 21:34:22
【问题描述】:
我正在尝试使用 Vue 2.5.2 和 Vuex 3.0.1 设置应用程序,唯一无法摆脱的是这个警告:
[Vue 警告]:渲染错误:“TypeError: _vm.product is undefined”
product只是products的一个元素,一个存储在Vuex状态下的数组,在创建Vue实例后执行下一行后填充: p>
vm.$store.dispatch('getProducts')
在我的组件中,我通过使用下一个计算属性获得了 product:
product: function () {
return this.$store.getters.getProductById(this.id)
},
this.id 由 Vue 路由器发送(并且已正确定义)。 getter 看起来像这样:
getProductById: (state) => (id) => {
return state.products.find(product => product.id === id)
},
出现此警告后,实际的 product 信息会正确显示,所以我猜 Vue 会在 Vuex 实际从服务器检索到信息之前尝试加载和呈现信息。
关于如何让 Vue 等待 Vuex 以适当且有效的方式加载数据的任何想法?
【问题讨论】:
标签: templates vue.js rendering vuex