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