我基本上要重新申请不同的对象在同一页上的绑定,但奇怪的行为。 之后,我重新绑定,物品清单丢失。
请在这里看到: http://jsfiddle.net/baio/9UcUs/5/
该怎么办?
我基本上要重新申请不同的对象在同一页上的绑定,但奇怪的行为。 之后,我重新绑定,物品清单丢失。
请在这里看到: http://jsfiddle.net/baio/9UcUs/5/
该怎么办?
简短的回答是,它不支持。 长的答复是,有周围的一些方法。 一种方法是调用cleanNode
前applyBindings
,但这并不清晰的事件处理程序。 另一种方法是包裹在一个可观察的视图模型,然后更新可观察到重新绑定; 这个效果要好得多,但仍然有一个小问题(见下文)。
下面是使用可观察到的视图模型方法的例子: http://jsfiddle.net/mbest/9UcUs/9/
我已经用观察到的视图模型发现的唯一的问题是,事件处理程序没有完全与新的视图模型进行更新。 他们将呼吁在新的视图模型正确的功能,但是this
和data
值将是原来的视图模型。
编辑:
淘汰赛3.0(目前预定于发行这个月),完全支持可观察的视图模型。 还有可能是与自定义绑定的问题,但希望这一切都将很快被记录在案。
可以绑定同一个视图模型,以不同的元素,你需要指定要应用的结合的元素。
ko.applyBindings(vm, $('#yourul'));
ko.applyBindings(vm, $('#div'));
这样做:
ko.applyBindings(viewModel, $('#somejQObj')[0]);
作品在@ fengd的答复的意见陈述。 目前有由foreach语句,即有每一个都有一个动态添加的子表也由foreach语句填充展开的行填充表。 后的各分表用动态插入做上述集的子表的绑定和填充数据。