Angularjs 角度:删除某些HTML时,包含的ng控制器为';不要被毁了

Angularjs 角度:删除某些HTML时,包含的ng控制器为';不要被毁了,angularjs,Angularjs,出于某种原因,我需要有一个按钮,用jQuery删除页面的部分HTML,如:$('#sss').remove() 我的问题是,如果sss中有控制器,则不会调用$destroy事件 如何确保sss内的每个控制器都发生$destroy事件 谢谢 另外,我想另一种解决问题的方法可能是:$state和$route是如何实现的?如果元素属于一个指令,并且元素的作用域是隔离的,那么您需要获取作用域或隔离作用域,然后调用其中的dedestroy方法 var el=angular.element('#ssss'

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

我的问题是,如果sss中有控制器,则不会调用
$destroy
事件

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

谢谢


另外,我想另一种解决问题的方法可能是:$state和$route是如何实现的?

如果元素属于一个指令,并且元素的作用域是隔离的,那么您需要获取作用域或隔离作用域,然后调用其中的dedestroy方法

 var el=angular.element('#ssss');
 el.scope().$destroy();
 //el.isolatedScope().$destroy();
 el.remove();
请注意,注释行仅用于隔离作用域,如果是这种情况,则不需要第一个作用域获取行

链接
$rootScope.Scope#$destroy

是否可以使用角度元素方法将其删除<代码>元素。删除()
。这可能会考虑到特定角度的事件。从未尝试过。如何将元素设置为等于$('#sss')?@Jorg不,这没有改变任何东西。谢谢。然后,我只需要注意在确切的元素#sss上创建一个作用域,这样父作用域就不会被破坏。在元素#sss上创建作用域可以通过在其上添加ng控制器来完成。正确吗?是的,我刚刚用AngularJS文档链接更新了我的回复,在这里你可以阅读更多关于itI的信息。我创建了一个创建范围的指令,scope:true,并使用它来创建范围,而不是创建一个更复杂的控制器。