我記得在將元素從DOM中刪除之前需要銷燬元素上的範圍。但我不確定這是如何完成的。在刪除AngularJS中的DOM元素之前我應該做些什麼?
所以,恰好我有一個從DOM中刪除元素的指令。一個精簡版會是什麼樣子:
(function() {
angular.module('app').directive('remove', function() {
return {
restrict: 'A',
link: function(scope, element, attrs) {
element.children().remove();
element.remove();
}
}
}]);
}());
一個簡單的和不切實際的例子是像 <my-directive-with-isolated-scope remove></my-directive-with-isolated-scope>
我可以刪除元素,但它似乎並不像範圍被破壞,這是我相信會造成內存泄漏嗎?我還在指令的控制器(具有隔離範圍的控制器)中設置了$interval
,在那裏我設置了一個控制檯消息作爲測試出去。我可以看到,當它從DOM中刪除時,它仍然以設定的時間間隔輸出控制檯消息。
我會修改上述指令中的某些內容,以正確刪除元素嗎?