Javascript 使用angular.element注册的事件是否被$destroy删除?
我已经读到,$destroy会自动删除角度侦听器(Javascript 使用angular.element注册的事件是否被$destroy删除?,javascript,angularjs,Javascript,Angularjs,我已经读到,$destroy会自动删除角度侦听器($scope.$on)。我还了解到,像jQuery($(document).on)这样的外部事件处理程序需要手动删除 有人知道angular.element在哪里属于这个范例吗 一个团队成员编写了类似于('event',()=>)的angular.element(document.on)。我是否需要在$onDestroy中手动删除此事件?是jQuery的一个很小的、与API兼容的子集,它允许AngularJS以跨浏览器兼容的方式操作DOMjqLi
$scope.$on
)。我还了解到,像jQuery($(document).on
)这样的外部事件处理程序需要手动删除
有人知道angular.element在哪里属于这个范例吗
一个团队成员编写了类似于('event',()=>)的angular.element(document.on)代码>。我是否需要在$onDestroy
中手动删除此事件?是jQuery的一个很小的、与API兼容的子集,它允许AngularJS以跨浏览器兼容的方式操作DOMjqLite
只实现最常用的功能,目标是占用很小的空间
使用它将事件监听器附加到除指令自身元素以外的其他元素时,需要在指令元素被销毁时注销这些监听器
function postLink(scope, elem, attrs) {
$document.on('event', documentEventHandler);
scope.$on("$destroy", function() {
$document.off('event', documentEventHandler);
});
function documentEventHandler(event) {
console.log(event.target);
//other code here
});
}
为了便于单元测试,请插入而不是使用angular.element(文档)
谢谢你周到的回答。