这是问题的简化版本:
<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"));
如果我这样做,knockout 会提示 viewModelOne 中没有“someModelTwoProperty”,因此我需要从第一个 applyBindings 中排除#model-two-container div。
有没有办法在不改变 View 模型的情况下做到这一点?
最佳答案
这是 the answer .
自 knockout 2.0 以来,有一个 controlsDescendantBindings 标志,您可以使用它来创建自定义绑定(bind),然后阻止 KO 绑定(bind)到元素或其任何子元素。
关于javascript - 在 ko.applyBindings 中排除 html 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13077214/