我有一个AngularJS指令,我需要执行某些操作,如果该指令的元件从DOM移除(无论是从一个AngularJS呼叫内或通过任何其他方法,如jQuery)。
那可能吗?
我有一个AngularJS指令,我需要执行某些操作,如果该指令的元件从DOM移除(无论是从一个AngularJS呼叫内或通过任何其他方法,如jQuery)。
那可能吗?
在指令中,当一个元素从DOM移除,$ Destroy事件中被发射。 里面你指导的链接功能,你可以这样做: -
element.on('$destroy', function() {
// do stuff
});
欲了解更多信息和完整的示例,请参阅文件在这里
编辑:请参见本plunker看到$行动摧毁。 在这里,我2秒后删除元素,并在控制台日志记录销毁。
当你的指令从DOM中删除,那么$destroy
事件。 看到这里https://docs.angularjs.org/api/ng/type/ $ rootScope.Scope#$摧毁
在这个问题( 提供示波器的例子$破坏事件? )我发现下面的例子:
ctrl.directive('handleDestroy', function() {
return function(scope, tElement, attributes) {
scope.$on('$destroy', function() {
alert("In destroy of:" + scope.todo.text);
});
};
});