防止;加上;删除DOM元素的绑定(Knockout.js)

防止;加上;删除DOM元素的绑定(Knockout.js),dom,knockout.js,Dom,Knockout.js,脱衣舞娘 我已经开始依赖with绑定来建立上下文嵌套。虽然我喜欢KO在某些情况下基于绑定元素的状态操纵DOM的方式,但有时我只希望在不移除DOM的情况下获得绑定含义 有人知道在单个元素绑定级别防止DOM操作是否可行吗 谢谢, Vinney版本2.2+的Knockout在with最初绑定到对象(或其他真实值)时不会清除DOM元素。或者,您可以使用我不久前组装的with light绑定。它只会绑定到一个对象(而不是一个可观察的对象) 你有什么版本的淘汰赛?它应该固定在2.2索引中,我有2.1.0。我

脱衣舞娘

我已经开始依赖with绑定来建立上下文嵌套。虽然我喜欢KO在某些情况下基于绑定元素的状态操纵DOM的方式,但有时我只希望在不移除DOM的情况下获得绑定含义

有人知道在单个元素绑定级别防止DOM操作是否可行吗

谢谢,
Vinney

版本2.2+的Knockout在
with
最初绑定到对象(或其他真实值)时不会清除DOM元素。或者,您可以使用我不久前组装的
with light
绑定。它只会绑定到一个对象(而不是一个可观察的对象)


你有什么版本的淘汰赛?它应该固定在2.2索引中,我有2.1.0。我会调查最新情况。然而,你能详细说明“固定”是什么意思吗?是否添加了配置/参数?另外,请回答,以便我可以在适当的情况下接受您的回答。@Slawek您的评论让我有点困惑。我离开时认为实际的DOM操作是一个淘汰错误。尽管如此,文件中另有说明。那么“固定”是什么意思呢?是否存在DOM操作实际发生错误的实例?如果是的话,你能解释一下吗?我的对象是非空的,但是它包含的所有成员都是空的。这是否应该触发相关元素的移除?谢谢请看KO 2.2发行说明-其他改进:谢谢@Sławek!这正是我在官方网站和GitHub上寻找的。谢谢你的输入!有趣的绑定处理程序。我很想知道你用这个解决了什么问题。。。想解释一下吗?我想要一个只进行上下文更改而没有任何模板功能的绑定。就是这样,我明白了。但您的视图功能决定了您的模型。你是否考虑允许一个可观察的对象并展开它来达到同样的结果?我不是想挑战你的设计,而是想了解我自己缺少的考虑因素。支持可观测通常意味着使用模板模型(DOM操纵),尽管我在我的工作中通过支持可观测子视图模型解决了这一问题。“当with最初绑定到对象时,版本2.2+的Knockout不会清除DOM元素”我正在使用3.4.2及其清除DOM元素并再次创建它们,我的更改/模糊/按键/粘贴事件将使用with绑定删除。
ko.bindingHandlers['withlight'] = {
    'init': function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
        var bindingValue = valueAccessor();
        if (typeof bindingValue != 'object' || bindingValue === null)
            throw new Error('withlight must be used with an object');
        var innerContext = bindingContext['createChildContext'](bindingValue);
        ko.applyBindingsToDescendants(innerContext, element);
        return { 'controlsDescendantBindings': true };
    }
};