【发布时间】:2018-07-20 09:26:13
【问题描述】:
我不确定计算属性(在 vue 生命周期中)何时到来。假设我有一个在 created() 中运行的方法:
created () {
getSomething()
}
在 getSomething() 中,我获取数据并将我的数据属性填充为:
getSomething(){
axios.get(...) { this.info = response.data }
}
现在,在计算属性中,我这样做了:
computed: {
doSomething () {
this.info.forEach(item => {})
}
}
但是,在我的计算中,我得到 forEach 是未定义的,好像 this.info 不是一个数组或没有被填充。
我做错了什么?是在 created() 之前调用的计算道具还是什么?
【问题讨论】:
-
getSomething 应该用这个关键字
this.getSomething()调用。axios.get()返回承诺,我猜你已经在数据对象上初始化了this.info,所以数据默认是响应式的。差点忘了,计算属性期望返回一些东西:)