开发者问题收集

parent.appendChild 不是一个函数

2019-08-19
3454

我想使用 renderer2 的附加子 函数 ,但在移动整个组件时遇到了一些困难。这是我的组件的缩短版本。

ts:

@ViewChild('test', { static: false }) test;
@ViewChild('test2', { static: false }) test2;

this.renderer.appendChild(this.test, this.test2);

html:

<div #test></div>

<my-component #test2></my-component>

因此,本质上我只想使用 appendChild 函数将 </my-component> 移动到其上方的 div 中。但是当我执行它时,我收到错误:

parent.appendChild 不是函数

知道为什么会出错吗?

1个回答

您应该将 DOM 元素传递给此方法:

@ViewChild('test', { static: false }) test: ElementRef;
@ViewChild('test2', { static: false, read: ElementRef }) test2: ElementRef;
...

this.renderer.appendChild(this.test.nativeElement, this.test2.nativeElement);
yurzui
2019-08-19