我正在使用DCL loadnexttolocation加载组件。有没有办法可以在指定的元素中加载组件。我的意思是我想在默认情况下更改它加载的位置。这是我的傻瓜:http://plnkr.co/edit/2dKxNAOgqYqGn4n0u8PT?p=preview
add() {
this._dcl.loadNextToLocation(DynamicCmp, this._elementref);
}
这是我提出事件时的代码.. elementref始终考虑根组件。有没有办法可以在根目录中找到子元素的elementref?
我需要的是要在此元素中加载的组件:
<div #location id="location"></div>
答案 0 :(得分:3)
添加模板变量并使用@ViewChild()
@Component({selector: 'some-selector',
template: `
<div #location id="location"></div> `
export class MyComponent {
// only set after `ngAfterViewInit`
@ViewChild('location') location;
constructor(private _dcl: DynamicComponentLoader, private _elementref: ElementRef) {}
add() {
this._dcl.loadNextToLocation(DynamicCmp, this.location);
}
}