如果条件为 false
,if
绑定(bind)会删除 DOM 并停止执行内部 data-bind
属性。
即使条件为false
,是否也可以保留 DOM?我只想在条件为 false
时停止执行 data-bind
,但我不希望由于 JQuery 绑定(bind)等原因删除任何 DOM。
最佳答案
我提出了以下解决方案,该解决方案基本上延迟了 knockout 绑定(bind)应用程序,直到满足条件为止。
当条件变为false
时,它不会删除绑定(bind),但在我的情况下这不是必需的。
ko.bindingHandlers['applyWhen'] = {
init: function() {
return { controlsDescendantBindings: true };
},
update: function(element, valueAccessor, allBindings, model, bindingContext) {
if (!element.bindingApplied && Boolean(ko.unwrap(valueAccessor()))) {
element.bindingApplied = true;
ko.applyBindingsToDescendants(bindingContext, element);
}
}
};
关于javascript - KnockoutJS IF 绑定(bind) - 保留 DOM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33141354/