0
我有一个事件,我只想处理一次。根据我的this和this博客的理解,具有以下样式应确保这种行为:角度事件只能触发一次触发一次
var unbind = $scope.$on(event, function(){
//do stuff
unbind();
}
但是当我把一个断点在这个代码,我可以看到它被多次调用。
如何确保代码只运行一次?
我有一个事件,我只想处理一次。根据我的this和this博客的理解,具有以下样式应确保这种行为:角度事件只能触发一次触发一次
var unbind = $scope.$on(event, function(){
//do stuff
unbind();
}
但是当我把一个断点在这个代码,我可以看到它被多次调用。
如何确保代码只运行一次?
由于事件的异步性质,需要先调用unbind()
调用,而不是最后调用,以防止多个同时发生的事件。
var unbind = $scope.$on(event, function(){
unbind();//first, not last
//do stuff
}
我只想设置一个标志和使用'$范围。在$(“$摧毁” ...'做清理工作。如果您使用的呢?又是什么'解除绑定()'吗? – charlietfl
@charlietfl'$ scope。$ on'以及'$ scope。$ watch'返回一个解除绑定函数,当被调用时,该函数结束了监听器,但我发现我的问题 - 'unbind()'调用需要是因为事件是异步的第一行 –
行..不知道,因为你曾经无法解除绑定,所以必须已经加入到api中 – charlietfl