javascript - 在 ko.applyBindings 中排除 html 元素

标签 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"));

如果我这样做,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/

相关文章:

javascript - knockout 数据绑定(bind)点击

javascript - Knockout JS - 数据绑定(bind)多个值

c# - MVC 自定义 View 模型问题

wpf - MVVM 将数据传递给对话框 View 模型

javascript - 在 pre 标签中插入一个换行符(IE,Javascript)

javascript - 在 OneDrive 等网站应用程序中创建一个选择工具

javascript - KnockoutJS 未在复选框列表中选择选中的值

silverlight - 如何从 ViewModel 中关闭 Silverlight 子项?

javascript - 使用 JavaScript 中的一个函数从数组和对象中获取键

javascript - 在 fetch React-Native 中返回代码