以下是问题的简化版本:
<div id="model-one-container" data-bind="css: {foo: someModelOneProperty}">
<div id="model-two-container" data-bind="text: someModelTwoProperty"></div>
<div data-bind="text: anotherModelOneProperty"></div>
</div>
ko.applyBindings(viewModelOne, document.getElementById("model-one-container"));
ko.applyBindings(viewModelTwo, document.getElementById("model-two-container"));
如果我这样做,淘汰赛会抱怨viewModelOne中没有“someModelTwoProperty”,所以我需要从第一个applyBindings中排除#model-two-container div。 有没有办法在不改变视图模型的情况下做到这一点?
答案 0 :(得分:6)
此处the answer。
从knockout 2.0开始,有一个controlsDescendantBindings标志,您可以使用该标志创建自定义绑定,然后阻止KO绑定元素或其任何子节点。