我写了一个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
上?还是您有其他建议可以帮助实现这一目标?非常感谢,谢谢。
最佳答案
您可以在包装函数中添加一个属性,该属性可以告诉您IF绑定(bind)是否在之前触发和/或是否已经渲染了它的子代。然后,您可以执行与以前的update回调完全相同的操作。
关于javascript - 在KnockoutJS 3.1中删除了ko.bindingHandlers.if.update函数吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22659154/