【问题标题】:Knockout observable array not updating secondary tableKnockout observable 数组不更新辅助表
【发布时间】:2012-07-29 05:09:02
【问题描述】:
我正在使用一个可观察数组填充辅助表,该数组是另一个可观察数组的子项,但是当我从第一个表中选择一行时,辅助表中的记录不会更新以反映第一个表中的选定记录。我可以从日志消息中看到我对集合有可见性,因此看起来一切正常,但第二个表未显示预期结果。
请在此处查看我的 jsFiddle:
http://jsfiddle.net/D64Bj/5/
您将在日志消息中看到,当我单击第一个表中的一行时,我可以看到集合中的第二项中有多少条记录,并且我得到了正确的 ID,但第二个表中的行没有更新.
有人看到我在这里做错了吗?关于使用 knockout.js 处理此问题的更好方法的任何建议?提前致谢!
【问题讨论】:
标签:
javascript
knockout.js
【解决方案1】:
你需要让 ActiveTeam 成为一个 ko.observable,否则不会有任何绑定:
这是您需要的更改:
<tbody data-bind="foreach: ActiveTeam().Players">
...
myTeams.ActiveTeam = ko.observable(myTeams.Teams()[0]);
...
myTeams.ActiveTeam(item);
编辑:和here's 一个小提琴