在ko.applyBindings中排除html元素

时间:2012-10-25 21:01:10

标签: javascript knockout.js viewmodel

以下是问题的简化版本:

<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。 有没有办法在不改变视图模型的情况下做到这一点?

1 个答案:

答案 0 :(得分:6)

此处the answer

从knockout 2.0开始,有一个controlsDescendantBindings标志,您可以使用该标志创建自定义绑定,然后阻止KO绑定元素或其任何子节点。