gpt4 book ai didi

Angularjs 销毁不起作用

转载 作者:行者123 更新时间:2023-12-02 03:27:43 26 4
gpt4 key购买 nike

http://plnkr.co/edit/UfQJU661pQR0DMY3c61t?p=preview

我从 AngularJs 站点获得了上面的代码,唯一的事情是我添加了一个按钮来删除我们有 Controller 的 Div,但是在删除之后没有销毁方法被调用,因为我已经在指令和 Controller 中放置了警报。

element.on('$destroy', function() {
alert('destroy directive interval');
$interval.cancel(stopTime);
});

 $scope.$on('$destroy', function() {
alert('destroy controller interval');
// Make sure that the interval is destroyed too
$scope.stopFight();
});

请提出建议。

谢谢

最佳答案

主要注意事项

element.remove() 被执行时,该元素及其所有子元素将从 DOM 中一起移除,所有事件处理程序将通过例如 element.on 附加。

它不会破坏与元素关联的 $scope。

所以需要手动触发scope.$destroy();

首先获取元素的范围:-

 var scope = angular.element(document.getElementById("mainDiv")).scope();

第二次从dom中移除元素:-

$('#mainDiv').remove();

第三次手动销毁范围:-

 scope.$destroy();

Plunker

关于Angularjs 销毁不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29442811/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com