Knockout自定义绑定扩展了“IF”绑定

时间:2012-06-03 05:25:26

标签: javascript html5 knockout.js custom-binding

我有基于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

1 个答案:

答案 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绑定我已经在小提琴中包含了一个例子。

希望这有帮助。