Bla*_*ise 0 underscore.js knockout.js
我需要通过Id在报告可观察数组中找到报告.我怎么写这个underscore
陈述?
我在用:
_.where(reports(), {id:data.ReportId})
Run Code Online (Sandbox Code Playgroud)
和
_.where(reports(), {id:ko.observable(data.ReportId)})
Run Code Online (Sandbox Code Playgroud)
它总是返回一个空数组.
然后我发现了一些underscoreKO.js
,但它仍然无法奏效.有人能帮我吗?谢谢.
还有另外一个类似的帖子在这里,但他们不完全一样.ko.utils.arrayFirst
可以找到该项目,但不会帮助我更新它.
正确答案来自Daniel A. White,稍有改动.谢谢.
一个修正:
var record = _.filter(reports(), function (item) { return item.id() == data.ReportId; })
if (record.length > 0) {
_.first(record).reportStatus("Approved");
}
Run Code Online (Sandbox Code Playgroud)
我发现它必须item.id()
不仅仅是id()
.但感谢丹尼尔一百万!
我认为这不会起作用,因为id
在你的报告中是可以观察到的.
你应该用filter
.
_.filter(reports(), function(item) {return id() == data.ReportId; })
Run Code Online (Sandbox Code Playgroud)