【问题标题】:How to deal with allBindings in ko3如何处理ko3中的allBindings
【发布时间】:2013-12-06 18:31:02
【问题描述】:

在 ko 2 中,我曾经在创建自定义绑定时向 allBindingsAccessor() 返回的对象添加其他绑定。这是将复杂绑定包装成简单绑定的便捷方式。

我注意到在 ko 3 中它不再起作用了 - 现在有对象 allBindings 带有 'get' 和 'has' 方法。不幸的是,它没有 'set' 方法,所以我不能再添加到我的自定义选项绑定 optionsText 和 optionsValue...

任何想法如何再次完成这项工作?

【问题讨论】:

标签: javascript knockout.js knockout-3.0


【解决方案1】:

这在 Knockout 3.0 中使用 preprocessing 功能得到了更好的处理。以您的 jsFiddle 为例,以下是您在 3.0 中实现该功能的方式:

ko.bindingHandlers.customList = {
    preprocess: function(value, name, addBinding) {
        addBinding('options', value);
        addBinding('optionsText', '"c"');
        addBinding('optionsValue', '"b"');
    }
};

jsFiddle:http://jsfiddle.net/mbest/avbnB/3/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-06-05
    • 1970-01-01
    • 1970-01-01
    • 2019-12-04
    • 2021-05-22
    • 2018-07-27
    • 2020-12-14
    相关资源
    最近更新 更多