我使用knockout js创建一个带搜索功能的列表。
console.log的结果:
正如你所看到的那样,数组中应该有5个对象,但是proto有0.我不明白可能出错的地方。
var iniList = [
new Spot("Park"),
new Spot("High School"),
new Spot("Soccer Stadium"),
new Spot("Railway Station"),
new Spot("Hospital")
];
var viewModel = {
spots: ko.observableArray(iniList),
filter: ko.observable(''),
search: function(value) {
console.log(iniList);
viewModel.spots.removeAll();
for (x = 0; x < iniList.length; x++) {
console.log("iniList[x]");
if (iniList[x].name.toLowerCase().indexOf(value.toLowerCase()) >= 0) {
viewModel.spots.push(iniList[x]);
}
}
}
};
答案 0 :(得分:1)
您正在运行&#34; viewModel.spots.removeAll();&#34;这将删除可观察数组的所有元素。