javascript – 从knockout应用绑定中排除DOM元素?

前端之家收集整理的这篇文章主要介绍了javascript – 从knockout应用绑定中排除DOM元素?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将我的淘汰视图模型定位到dom的某个部分,如下所示:
ko.applyBindings(Myviewmodel,$('#Target')[0]);

但是我不希望它适用于它下面的所有doms.这样做的原因是整个SPA的工作效果不佳 – 无法跟上由于将每个潜在的交互包含在一个巨大的对象中而产生的巨型视图模型.因此,页面由多个部分视图组成.我希望每个partials实例化自己的viewmodel并为父进程提供交互接口.

一些样本dom

<div id="Target">
     <!--Everything here should be included except-->
     <div data-bind="DoNotBindBelowThis:true">
          <!--Everything here should NOT be included by the first binding,I will specifically fill in the binding with targetted
              ApplyBind eg. ko.applyBindings(MyOtherviewmodel,$('#MyOtherTarget')[0])
              to fill the gaps-->
            <div id="MyOtherTarget">
            </div>
     </div>
</div>

我怎样才能从applyBindings中排除用DoNotBindBelowThis标记的div下面的整个dom树?

解决方法

看看这篇博文: http://www.knockmeout.net/2012/05/quick-tip-skip-binding.html

基本上,您可以创建自定义绑定,如:

ko.bindingHandlers.DoNotBindBelowThis = {
    init: function() {
        return { controlsDescendantBindings: true };
    }
};

猜你在找的JavaScript相关文章