我有基于Ryan Niemeyer博客的以下自定义绑定,但我觉得它不起作用。不是让他褪色,而是根本没有表现出来。我尝试添加“init”函数但是没有解决问题,所以我回到了简单的更新函数,就像Ryan在示例中一样。
ko.bindingHandlers.fadeInIf = {
update: function(element, valueAccessor) {
ko.bindingHandlers.if.update(element, valueAccessor);
$(element).fadeIn();
}
};
在html中我执行以下操作:
<div data-bind="fadeInIf: show">...</div>
博文:http://www.knockmeout.net/2011/07/another-look-at-custom-bindings-for.html
答案 0 :(得分:0)
您在if
中代理的fadeInIf
绑定实际上用于创建dom元素,有关详细信息,请参阅this documentation。
实现淡入淡出,如果你需要的话。
ko.bindingHandlers.fadeInIf = {
update: function(element, valueAccessor) {
var value = ko.utils.unwrapObservable(valueAccessor());
if (value) {
$(element).fadeIn();
}
}
};
http://jsfiddle.net/madcapnmckay/3rRUQ/2/
如果你想要的更多是一个fadeVisible绑定我已经在小提琴中包含了一个例子。
希望这有帮助。