NameCtrl OnStatusChange-Event经常被调用

时间:2014-06-04 07:17:58

标签: javascript api activex communicator

我正在使用NameCtrl在用户列表中提供更具体的用户信息。当显示的用户的状态发生变化时,将调用事件OnPropertyClosed。不幸的是,在我的应用程序中,它有时被连续调用超过5次,具有相同的用户和相同的状态。这应该发生还是我可以做些什么来阻止?

我有两个术语Knockout-Bindings。将为每个用户执行init-Block。 nameCtrl-Binding位于显示用户名和状态的范围i上。

ko.bindingHandlers['nameCtrl'] = {
    init: function (element, valueAccessor) {

        var value = valueAccessor();
        var user = ko.unwrap(value);

        $(element).hover(function () {
            NameCtrlViewModel.prototype.showOOUI(this, user);
        }, function () {
            NameCtrlViewModel.prototype.hideOOUI();
        });
    }
};

statusIndicator-Binding位于显示状态的Element上。使用方法GetStatus(由NameCtrl提供)i" register" StatusChange-Listener的用户,它执行OnStatusChangedEvent。

ko.bindingHandlers.statusIndicator = {
    init: function (element, valueAccessor) {
        var value = valueAccessor();
        var user = ko.unwrap(value);
        $(element).data("user", user);
        NameCtrlViewModel.prototype.nameCtrl.GetStatus(user, "1");
    }
};

当状态改变时,这就是我将我的函数设置为要调用的函数

self.nameCtrl.OnStatusChange = self.onStatusChange;

在这里,我使用当前状态更新我的statusIndicator。

NameCtrlViewModel.prototype.onStatusChange = function (user, status, id) {

};

现在如前所述,我的函数onStatusChange有时被称为mor,而不是连续5次具有相同的状态和用户。在包含许多用户的列表中,我担心它会降低我的应用程序速度。

问候Themuron

0 个答案:

没有答案