【发布时间】:2014-03-15 02:41:55
【问题描述】:
这个小提琴演示了我的问题:http://jsfiddle.net/timvdh/QMM5b/2/
模型会创建一个下拉列表,如果点击“添加列表”会创建另一个下拉列表 OK,更多的点击会产生未绑定的列表。
这是因为额外的 observables 是在模型绑定后创建的,所以没有用。
// this will create an observable which is not bound to the UI
if (!ko.isObservable(self.listData()[field]))
self.listData()[field] = ko.observableArray([]);
我想这种情况并不少见。我能做的是预先准备一个足够大的空可观察对象列表(用于 self.listData 和 self.data 属性)。我真正的大型单页应用程序需要未知数量的控件(通过 JSON 加载的元数据),所以我希望有更好的方法。
【问题讨论】:
标签: knockout.js