如何在 vue.js 2 上循环对象观察器?
How can I loop object observer on vue.js 2?
如果我console.log(this.list)
,结果是这样的:
this.list.forEach(function (user) {
selected.push(user.id);
});
存在错误:
Uncaught TypeError: this.list.forEach is not a function
如何解决这个错误?
this.list
不是数组吗?
如果 this.list
是类数组(该对象上必须有一个 length
属性),您应该可以这样做:
Array.prototype.forEach.call(this.list, user => {
// ...
})
或
Array.from(this.list).forEach(user => {
// ...
})
或
[...this.list].forEach(user => {
// ...
})
否则如果this.list
只是一个普通对象,你可以这样做:
Object.keys(this.list).forEach(key => {
const user = this.list[key]
// ...
})
或
Object.entries(this.list).forEach(([key, user]) => {
// ...
})
这是一种在 Vue 中遍历观察者数组的方法:
let keys = Object.keys(myObserverArray);
keys.forEach(key => {
let item = myObserverArray[key];
//...work with item
})
如果我console.log(this.list)
,结果是这样的:
this.list.forEach(function (user) {
selected.push(user.id);
});
存在错误:
Uncaught TypeError: this.list.forEach is not a function
如何解决这个错误?
this.list
不是数组吗?
如果 this.list
是类数组(该对象上必须有一个 length
属性),您应该可以这样做:
Array.prototype.forEach.call(this.list, user => {
// ...
})
或
Array.from(this.list).forEach(user => {
// ...
})
或
[...this.list].forEach(user => {
// ...
})
否则如果this.list
只是一个普通对象,你可以这样做:
Object.keys(this.list).forEach(key => {
const user = this.list[key]
// ...
})
或
Object.entries(this.list).forEach(([key, user]) => {
// ...
})
这是一种在 Vue 中遍历观察者数组的方法:
let keys = Object.keys(myObserverArray);
keys.forEach(key => {
let item = myObserverArray[key];
//...work with item
})