Javascript 如何在angular中正确解除窗口事件的绑定
所以现在在我的控制器中,可能很快就会转到指令,我有一行代码使用jQuery绑定到窗口上的滚动事件。然后,它执行一个函数,该函数执行一些检查,以查看是否应该突出显示某些元素 问题是,我想在页面更改且控制器消失时正确解除此事件的绑定。在angular中解开事件的正确方法是什么 我知道jQuery的.off方法,我只是想知道应该在何时何地进行调用。Angular在销毁作用域时提供$destroy事件Javascript 如何在angular中正确解除窗口事件的绑定,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,所以现在在我的控制器中,可能很快就会转到指令,我有一行代码使用jQuery绑定到窗口上的滚动事件。然后,它执行一个函数,该函数执行一些检查,以查看是否应该突出显示某些元素 问题是,我想在页面更改且控制器消失时正确解除此事件的绑定。在angular中解开事件的正确方法是什么 我知道jQuery的.off方法,我只是想知道应该在何时何地进行调用。Angular在销毁作用域时提供$destroy事件 $scope.$on('$destroy', function() { //jQuery.of
$scope.$on('$destroy', function() {
//jQuery.off
});
但是,正如您所说的,这应该转移到一个指令中,angular还为html元素提供了一个$destroy方法。有指令的作用域吗?因为我绑定到窗口,而不是一个element@LordZardeck是的,指令中有作用域,这就是控制器和链接函数都将作用域作为参数的原因。然而,对于指令,最好是在“$destroy”上使用元素@LordZardeck我刚刚注意到您绑定到窗口事件,在这种情况下,您不会使用元素。在“$destroy”方法上,但您仍然可以使用作用域。$on“$destroy”方法上