我写了一个custom binding,它的起初效果类似于if binding,下一个效果类似于visible binding

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上已被删除。

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

非常感谢,谢谢。

最佳答案

您可以在包装函数中添加一个属性,该属性可以告诉您IF绑定(bind)是否在之前触发和/或是否已经渲染了它的子代。然后,您可以执行与以前的update回调完全相同的操作。

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

10-12 15:47