javascript - ko.bindingHandlers.if.update 函数在 KnockoutJS 3.1 中被删除?

标签 javascript jquery knockout.js custom-binding

我编写了一个自定义绑定(bind),它首先会像if绑定(bind)一样执行,然后在下一个时充当可见绑定(bind)

ko.bindingHandlers.visibleIf = {
   init: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext)
   {
      // Doing stuff here
      // ...

      return ko.bindingHandlers.if.init.apply(this, arguments);
   },
   update: function(element, valueAccessor, allBindingsAccessor, viewModel, bindingContext)
   {
       // Doing stuff here
       // ...

       ko.bindingHandlers.if.update.apply(this, arguments);
    }
};

我曾经包装过 if.initif.update 并且它在 KO 3.0 上工作得很好,我只是注意到它是在 KO 3.1 上删除。

可以在 KO 3.1 上包装 if.update 函数吗?或者您还有其他建议可以帮助实现这一目标吗?

非常感谢,谢谢。

最佳答案

您可以向包装函数添加一个属性,该属性告诉您 IF 绑定(bind)之前是否已触发和/或它是否已呈现其子函数。然后您可以执行与之前的更新回调完全相同的操作。

关于javascript - ko.bindingHandlers.if.update 函数在 KnockoutJS 3.1 中被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22659154/

相关文章:

jquery - 拖入jquery后调用函数

javascript - knockout 点击绑定(bind)在 iPad 中不起作用

javascript - 需要 Angular ng-options 不能与 slim 模板一起使用

javascript - 已解决 : How to check multiple email addresses in dynamic fields to check if user already exists or not

javascript - .slideDown() 不起作用

javascript - 网格内的网格 Javascript 和 JQuery :

javascript - 模糊后 knockout 更新计算值

javascript - Pager JS 参数和 Knockout

javascript - 如何将此组合求和算法从 java 转换为 javascript

javascript - 创建一个扩展页面内容的 "read more"链接