出于某种原因,我需要一个按钮,用jQuery删除部分页面的HTML,如下所示:$('#sss').remove();
我的问题是,如果#sss中有控制器,那么$destroy
事件就不会被调用。
如何确保#sss内的每个控制器发生$destroy
事件?
由于
P.S。我想另一种提出问题的方法可能是:$ state和$ route如何做到?
答案 0 :(得分:1)
如果你的元素属于一个带有元素隔离范围的指令,你需要获取范围或isolatedScope,然后在其中调用de destroy方法。
var el=angular.element('#ssss');
el.scope().$destroy();
//el.isolatedScope().$destroy();
el.remove();
请注意,注释行仅适用于隔离范围,如果是这样的话,则不需要第一个范围获取行。
https://docs.angularjs.org/api/ng/function/angular.element https://docs.angularjs.org/api/ng/type/ $ rootScope.Scope#$破坏