Skip to content

Commit 08c27e5

Browse files
committed
fix(core): account for when parent is null in removeChild
This was affected by a recent change in Angular upstream that Angular core decides to use `element.remove()` instead of `parent.removeChild(element)`. Hence, during the unmount phase, the `parent` is never calculated and passed in. angular/angular#57203
1 parent 36b7f48 commit 08c27e5

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

Diff for: libs/core/src/lib/renderer/index.ts

+6
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import {
77
getDebugNode,
88
inject,
99
makeEnvironmentProviders,
10+
untracked,
1011
} from '@angular/core';
1112
import { NgtArgs } from '../directives/args';
1213
import { getLocalState, prepare } from '../instance';
@@ -280,6 +281,11 @@ export class NgtRenderer implements Renderer2 {
280281
}
281282

282283
removeChild(parent: NgtRendererNode, oldChild: NgtRendererNode, isHostElement?: boolean | undefined): void {
284+
if (parent === null) {
285+
parent = (oldChild.__ngt_renderer__[NgtRendererClassId.parent] ||
286+
untracked(() => getLocalState(oldChild)?.parent)) as NgtRendererNode;
287+
}
288+
283289
const pRS = parent.__ngt_renderer__;
284290
const cRS = oldChild.__ngt_renderer__;
285291

0 commit comments

Comments
 (0)