引导后动态加载组件

时间:2016-04-08 13:01:03

标签: angular angular2-template

我使用以下内容:

this.DynamicComponentLoader.loadIntoLocation(NewComponent, this.parent, 'new');

其中this.parent是我的主要课程ElementRef的{​​{1}}。

然而,这引起了我的错误:

  

TypeError:无法读取属性' componentView'未定义的。

我像这样创建App

this.parent

和我的setParent(parent){ this.parent = parent.nativeElement; } 班级:

App

我的export class App{ constructor(_elementRef:ElementRef){ Service.setParent(_elementRef); } }

NewComponent

import {Component} from "angular2/core"; @Component({ selector: 'new', templateUrl: 'app/New.html' }) export class NewComponent{ constructor(){ console.log("New Comopnent here") } }

Service

关于问题在哪里的任何想法?

1 个答案:

答案 0 :(得分:1)

loadIntoLocation至少需要这些参数/类型:

loadIntoLocation(type: Type, hostLocation: ElementRef, anchorName: string)

您使用nativeElement的{​​{1}},这不是parent,而是ElementRef

解决方案是,在存储父级时,您应该使用:

HTMLElement

我只能猜测这是你问题的来源