我需要将事件监听器添加到 Angular 应用程序中。外部插件正在监听该事件以触发某些操作。
我这样做了:
$window.addEventListener('itemLoaded', itemLoaded, false);
它可以工作,但是当我更改状态(我使用 ui-router)时,我找不到删除该事件的方法。
如果我的状态发生变化,你知道在 Angular 中添加和删除事件的更好方法吗?
感谢您的帮助。
最佳答案
如果在 Controller 内部调用此代码,您可以监听 $scope.$destroy()
事件,然后在 Controller 卸载时删除监听器。
// Inside some controller
var listener = function listen() {...};
var element = document;
element.addEventListener('click', listener)
$scope.$on('$destroy', function(event, object) {
element.removeListener('click', listener);
})
关于javascript - 使用 Angular AddEventListener 并将其删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36711107/