在 ko 2 中,我曾经在创建自定义绑定时向 allBindingsAccessor() 返回的对象添加其他绑定。这是将复杂绑定包装成简单绑定的便捷方式。
我注意到在 ko 3 中它不再起作用 - 现在有对象 allBindings 具有“get”和“has”方法。不幸的是,它没有“设置”方法,所以我不能再添加到我的自定义选项绑定 optionsText 和 optionsValue...
任何想法如何再次获得这项工作?
在 ko 2 中,我曾经在创建自定义绑定时向 allBindingsAccessor() 返回的对象添加其他绑定。这是将复杂绑定包装成简单绑定的便捷方式。
我注意到在 ko 3 中它不再起作用 - 现在有对象 allBindings 具有“get”和“has”方法。不幸的是,它没有“设置”方法,所以我不能再添加到我的自定义选项绑定 optionsText 和 optionsValue...
任何想法如何再次获得这项工作?
这在 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/