我有一个我只想处理一次的事件。根据我对this和this博客的理解,具有以下样式应确保此行为:
var unbind = $scope.$on(event, function(){
//do stuff
unbind();
}
但是当我在这段代码中放置一个断点时,我可以看到它被多次调用。
如何确保代码只运行一次?
答案 0 :(得分:1)
由于事件的异步性质,需要先调用unbind()
调用,而不是最后调用,以防止多个同时发生的事件。
var unbind = $scope.$on(event, function(){
unbind();//first, not last
//do stuff
}