Angular:当删除一些HTML时,包含的ng-controller没有被销毁

时间:2014-06-29 10:49:18

标签: angularjs

出于某种原因,我需要一个按钮,用jQuery删除部分页面的HTML,如下所示:$('#sss').remove();

我的问题是,如果#sss中有控制器,那么$destroy事件就不会被调用。

如何确保#sss内的每个控制器发生$destroy事件?

由于

P.S。我想另一种提出问题的方法可能是:$ state和$ route如何做到?

1 个答案:

答案 0 :(得分:1)

如果你的元素属于一个带有元素隔离范围的指令,你需要获取范围或isolatedScope,然后在其中调用de destroy方法。

 var el=angular.element('#ssss');
 el.scope().$destroy();
 //el.isolatedScope().$destroy();
 el.remove();

请注意,注释行仅适用于隔离范围,如果是这样的话,则不需要第一个范围获取行。

LINKS

https://docs.angularjs.org/api/ng/function/angular.element https://docs.angularjs.org/api/ng/type/ $ rootScope.Scope#$破坏