我正在尝试创建一个包含现有绑定的自定义绑定,即内置于 Knockout 中的“with”或“foreach”绑定。
不幸的是,这样做我收到以下错误:Uncaught TypeError: Cannot call method 'createChildContext' of undefined
from knockout-latest.debug.js:3060(该问题也出现在版本 2.1.0 上)。
我已经使用 Google Chrome 21.0.1180.57在 jsFiddle 上重现了异常。
自定义绑定简单定义如下:
ko.bindingHandlers.myWith = {
init: function(element, valueAccessor, allBindings, viewModel) {
// do things
return ko.bindingHandlers.with.init(element, valueAccessor,
allBindings, viewModel);
},
update: function(element, valueAccessor, allBindings, viewModel) {
return ko.bindingHandlers.with.update(element, valueAccessor,
allBindings, viewModel);
}
};
人们希望能够使用上述表单中的简单处理程序“包装”现有绑定,就像本文中讨论的那样。