鉴于以下情况,我如何取回 id 10?
function ChildListViewModel()
{
var self = this;
self.children = ko.observableArray([]);
self.children.push({id:20,name:"Jake"});
self.children.push({id:10,name:"Jake"});
self.find = function(id)
{
console.log(self.children().length);
setTimeout(function(){console.log(self.children().length);}, 500);
found = ko.utils.arrayFirst(self.children(), function(child) {
return child.id() === id;
});
console.log(found);
return found;
}
}
我想做类似的事情
ChildVM.find(10);
所有使用
ko.utils.arrayFirst
的尝试和 ko.utils.arrayForEach
我失败了。编辑
这现在有效,请参阅选定的答案。
关于加载顺序和 AJAX 的问题意味着这不能正常工作。
最佳答案
return ko.utils.arrayFirst(self.children(), function(child) {
return child.id === id;
});
只要记住使用
self.children()
到达底层数组。
关于knockout.js - 在 KnockOutJS 中按 ID 查找,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15294914/