1

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

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

任何想法如何再次获得这项工作?

4

1 回答 1

3

这在 Knockout 3.0 中使用预处理功能得到了更好的处理。以您的 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/

于 2013-11-22T02:41:34.063 回答