Версия 2.2 + Нокаута не очистит элемент DOM, когда с
будет связан первоначально с объектом (или другая стоимость truthy). Альтернативно, можно использовать 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 };
}
};