fix(core): complete EventEmitter in QueryList on component destroy (#18902)
Fixes #18741 PR Close #18902
This commit is contained in:
@ -108,6 +108,12 @@ export class QueryList<T>/* implements Iterable<T> */ {
|
||||
|
||||
/** internal */
|
||||
get dirty() { return this._dirty; }
|
||||
|
||||
/** internal */
|
||||
destroy(): void {
|
||||
this._emitter.complete();
|
||||
this._emitter.unsubscribe();
|
||||
}
|
||||
}
|
||||
|
||||
function flatten<T>(list: Array<T|T[]>): T[] {
|
||||
|
@ -530,6 +530,8 @@ function destroyViewNodes(view: ViewData) {
|
||||
view.renderer.destroyNode !(asElementData(view, i).renderElement);
|
||||
} else if (def.flags & NodeFlags.TypeText) {
|
||||
view.renderer.destroyNode !(asTextData(view, i).renderText);
|
||||
} else if (def.flags & NodeFlags.TypeContentQuery || def.flags & NodeFlags.TypeViewQuery) {
|
||||
asQueryList(view, i).destroy();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user