清理/销毁指令的正确方法是什么?

Set*_*una 3 angularjs

假设我有多个指令,包括:

<mydirective id="1">...template content...</mydirective>
<mydirective id="2">...template content...</mydirective>
Run Code Online (Sandbox Code Playgroud)

你如何破坏指令呢?通常我会在jquery做点什么$('#2').remove();

除了从dom中删除特定指令之外,是否还有其他必须要做的事情,或者其他一些方法来破坏dom元素,这样你就不会留下任何其他"垃圾"挥之不去的东西?(即孤儿控制器等)

Mau*_*ice 10

如果您需要在指令中执行任何清理工作,则可以订阅$ destroy事件.

在你的链接功能:

element.on('$destroy', function() {
    // Do cleanup work
});
Run Code Online (Sandbox Code Playgroud)