有办法手动删除指令吗?例如,我只想做一些工作并删除指令,所以它不会留在内存中。
@Directive({
selector: '[doSomething]'
})
export class DoSomethingDirective {
constructor(private el: ElementRef) {
// do something with the element and destroy the directive
}
}
答案 0 :(得分:2)
别。
<强>为什么强>
首先,我认为你不能从Angular那边清除指向实例的链接。
其次,让我们数一下羊。
最后,结论:
只要每个指令实例都是一个空对象,它与HTML元素绑定为1对1(这是一堆数据,包括运行时渲染,CSS规则等),很有可能你将面对问题与HTML元素的数量相比,你将面临内存问题,甚至不值得考虑清除这些指令。当然,除了事实上这是不可能的。