Skip to content

Commit 1a37c1a

Browse files
committed
fix(core): add dummy getAttribute fn to rendererNode for ssr
1 parent 6a38e1e commit 1a37c1a

File tree

2 files changed

+16
-0
lines changed

2 files changed

+16
-0
lines changed

libs/core/src/lib/renderer/index.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ export class NgtRenderer implements Renderer2 {
119119
}
120120
return node.__ngt_renderer__[NgtRendererClassId.debugNode];
121121
};
122+
122123
return node;
123124
}
124125

@@ -607,6 +608,15 @@ export class NgtRenderer implements Renderer2 {
607608

608609
rS[NgtRendererClassId.children] = [];
609610
rS[NgtRendererClassId.destroyed] = true;
611+
612+
if (
613+
'getAttribute' in node &&
614+
typeof node['getAttribute'] === 'function' &&
615+
!!Reflect.get(node['getAttribute'], '__ngt_renderer__')
616+
) {
617+
delete node['getAttribute'];
618+
}
619+
610620
if (parent) {
611621
removeChild(parent, node);
612622
}

libs/core/src/lib/renderer/state.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,12 @@ export function createNode(type: NgtRendererState[NgtRendererClassId.type], node
3737
};
3838
}
3939

40+
if (!('getAttribute' in rendererNode) || typeof rendererNode['getAttribute'] !== 'function') {
41+
const nodeGetAttribute = (name: string) => rendererNode[name];
42+
nodeGetAttribute['__ngt_renderer__'] = true;
43+
Object.defineProperty(rendererNode, 'getAttribute', { value: nodeGetAttribute });
44+
}
45+
4046
return rendererNode;
4147
}
4248

0 commit comments

Comments
 (0)