Knockouters,
我已经开始依赖于with绑定来建立上下文嵌套。虽然我喜欢KO在某些情况下根据绑定元素的状态操纵DOM的方式,但有时我只想要在不删除DOM的情况下绑定含义。
有没有人知道是否有可能在单个元素绑定级别上阻止DOM操作?
谢谢, Vinney
答案 0 :(得分:5)
当with
最初绑定到一个对象(或其他真值)时,Knockout的2.2版将不会清除DOM元素。或者,您可以使用我之前放在一起的withlight
绑定。它只会绑定到一个对象(不是一个可观察的对象)。
ko.bindingHandlers['withlight'] = {
'init': function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
var bindingValue = valueAccessor();
if (typeof bindingValue != 'object' || bindingValue === null)
throw new Error('withlight must be used with an object');
var innerContext = bindingContext['createChildContext'](bindingValue);
ko.applyBindingsToDescendants(innerContext, element);
return { 'controlsDescendantBindings': true };
}
};