如何在vue.js 2上循环对象观察者?

时间:2017-11-20 08:46:48

标签: vue.js vuejs2 vue-component vuex

如果我console.log(this.list),结果如下:

enter image description here

this.list.forEach(function (user) {
    selected.push(user.id);
});

存在错误:

  

未捕获的TypeError:this.list.forEach不是函数

如何解决此错误?

2 个答案:

答案 0 :(得分:5)

this.list不是数组吗?

如果this.list类似于数组(该对象上必须有length属性),您应该可以这样做:

Array.prototype.forEach.call(this.list, user => { ... });

Array.from(this.list).forEach(...);

否则如果this.list只是一个普通对象,你可以这样做:

Object.keys(this.list).forEach(key => {
  const user = this.list[key];
  ...
});

答案 1 :(得分:0)

这里可以遍历Vue中的观察者数组:

let keys = Object.keys(myObserverArray);

keys.forEach(key => {
   let item = myObserverArray[key];
   //...work with item
})