[__ob__: Observer] ,无法取值

382 阅读1分钟

ob: Observer这些数据是vue这个框架对数据设置的监控器,一般都是不可枚举的。

是控制台提前把我们push到数组中的全部元素都打印出来了,但是实际上还没push完?

我自己的例子:

render()这个函数执行递归,每一次递归都会push一个img进入到数组imgArr中

控制台在递归还未执行完毕后能打印出全部数据,但是我们取不出值,

等递归全部结束后,执行this.imgArr = this.imgArr即可取出imgArr中的全部数据

// 调用render函数
this.render()
render() {
  this.imgArr.push(img) 
  if (递归条件) { // 递归调用了render
    this.render()
  } else { // 递归结束
      this.imgArr = this.imgArr // 这样就可以在其他地方this.imgArr[i]取到值了
      // this.imgArr = JSON.parse(JSON.stringify(this.imgArr)) 网上其他人提供的方法,也可, 
      // 设置延时也可
  }
},