可以通过设置辅助对象来实现这一点,这些辅助对象存储到元素中。
E、 g。
function SomeBindingHelper(element, valueAccessor, allBindings, viewModel, bindingContext) {
var sharedVariable = "Banana";
// Call on init.
this.init = function () {
console.log("init", sharedVariable);
}
// Call on update.
this.update = function () {
console.log("update", sharedVariable);
}
}
ko.bindingHandlers.someBinding = {
init: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
var bindingHelper = new SomeBindingHelper(element, valueAccessor, allBindings, viewModel, bindingContext);
bindingHelper.init();
ko.utils.domData.set(element, "someBindingHelper", bindingHelper);
},
update: function (element, valueAccessor, allBindings, viewModel, bindingContext) {
var bindingHelper = ko.utils.domData.get(element, "someBindingHelper");
bindingHelper.update();
}
}