【Web前端问题】vue中为什么[__ob__: Observer]下无法取到数据

vue中为什么[__ob__: Observer]下无法取到数据,可是控制台明明有数据
图片描述

图片描述

不知道是否因为promise的原因?

回答:

问题出在异步上,跟 [__ob__: Observer] 无关

原因在与,你同时发起了几个请求,但是 jsonp() 调用结果返回的顺序不确定,可能会导致 index=1then() 函数比 index=0then() 函数先执行,此时 this.detailId 数组只有一个值,而你取的时候是 this.detailId[1](因为 index=1的结果先返回),所以报错了

下面提供一种修复的方式,在 then() 函数里做点改动:

// remove

// this.detailId.push(new Movie(res.id, res.wish_count))

// add

this.$set(this.detailId, index, new Movie(res.id, res.wish_count))

以上是 【Web前端问题】vue中为什么[__ob__: Observer]下无法取到数据 的全部内容, 来源链接: utcz.com/a/143705.html

回到顶部