3

我写了一个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.init并且if.update它在 上运行良好KO 3.0,我只是注意到它在 上被删除了KO 3.1

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

非常感谢,谢谢。

4

1 回答 1

0

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

于 2014-03-28T08:23:05.253 回答