角度事件仅意味着触发多次触发

时间:2016-03-07 17:16:02

标签: javascript angularjs events angularjs-scope unbind

我有一个我只想处理一次的事件。根据我对thisthis博客的理解,具有以下样式应确保此行为:

var unbind = $scope.$on(event, function(){
    //do stuff
    unbind();
}

但是当我在这段代码中放置一个断点时,我可以看到它被多次调用。

如何确保代码只运行一次?

1 个答案:

答案 0 :(得分:1)

由于事件的异步性质,需要先调用unbind()调用,而不是最后调用,以防止多个同时发生的事件。

var unbind = $scope.$on(event, function(){
    unbind();//first, not last
    //do stuff
}