Ko.applyBindingsToNode vs. ko.applyBindingsToDescendants

Обе функции позволяют заменить/изменить контекст привязки и применить его к несвязанным узлам. "Unbound" означает, что мои собственные пользовательские привязки, которые хотят использовать эти полезные функции , должны всегда возвращать { controlsDescendantNodes: true } в init функцию.

Итак, я не понимаю, в чем разница между ними?

Ответ 1

При использовании ko.applyBindingsToNode или в 3.0 ko.applyBindingAccessorsToNode вы можете напрямую связывать привязки, которые вы хотите использовать для определенного элемента (так что это не заботится о data-bind).

При вызове ko.applyBindingsToDecendants вы будете применять привязки, которые уже существуют в дочерних элементах (в атрибутах data-bind по умолчанию) предоставленного root node.