当我已经在服务器端部署了元素时,如何为每个客户端提供支持?
两者都有两倍的元素。
通过创建一个绑定处理程序来删除init上的子元素,这是一个使用旧版knockout的修复程序。任何人都可以使用淘汰2.1吗?
var viewModel = {
countries : [
{ name: 'UK' },
{ name: 'France' },
{ name: 'USA' }
]
}
ko.bindingHandlers.serverForEach = {
init: function(element, valueAccessor, allBindingsAccessor, viewModel) {
// clear the list first
$(element).children().remove();
},
update: function(element, valueAccessor, allBindingsAccessor, viewModel) {
ko.bindingHandlers['template'].update(element, valueAccessor, allBindingsAccessor, viewModel);
}
};
ko.applyBindings(viewModel);
答案 0 :(得分:3)
template
绑定包括还需要调用的init
函数。您还可以简化包装template
处理函数的方式。
ko.bindingHandlers.serverForEach = {
init: function(element) {
// clear the list first
$(element).children().remove();
return ko.bindingHandlers.template.init.apply(this, arguments);
},
update: ko.bindingHandlers.template.update
};