阻止KO绑定处理程序在页面加载时触发

时间:2013-09-20 12:10:59

标签: javascript knockout.js

我有一个绑定处理程序,可以淡入淡出元素。目前,绑定处理程序在页面加载时触发,导致使用绑定处理程序的所有元素同时闪烁。

我希望元素在第一次传递时忽略绑定处理程序,并且仅在对observable的后续更改时触发。向可观察对象添加标志是不可行的,因为当新数据从服务器到达时它们会被替换。

ko.bindingHandlers.highlight = {
update: function (element, valueAccessor, allBindingsAccessor, viewModel) {
    var value = valueAccessor(), allBindings = allBindingsAccessor(), vm = viewModel;
    {
        var iterations = 3;
        for (var i = 0; i < iterations; i++) {
            $(element).fadeTo("fast", 0.03);
            $(element).fadeTo("slow", 1);
        }
    }        
}

};

1 个答案:

答案 0 :(得分:0)

为什么不让它触发值true而其他值不是?