我不明白以下背后的逻辑,我希望有人能帮助我理解。我正在清理一个网络应用程序,并找到了以下代码行。该应用程序是使用 Knockout.js 的 MVC 应用程序。有几个具有以下结构的自定义绑定设置:
var originalBindingInit = ko.bindingHandlers.binding.init;
var originalBindingUpdate = ko.bindingHandlers.binding.update;
ko.bindingHandlers.binding = {
init: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
originalBindingInit(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext);
// Init code here...
},
update: function (element, valueAccessor, allBindingsAccessor, viewModel, bindingContext) {
originalBindingUpdate(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext);
// Update code here...
}
};
我不明白为什么将 init & update 设置为绑定之外的变量,然后在绑定的每个部分的第一行触发?在我看来,您这样做是在创建一个循环。
任何人都可以对此有所了解吗?如果淘汰文档中包含它,我已经错过了它,为此我深表歉意。