我正在尝试在组件中注入ComponentResolver。我使用的是Angular 2版本2.0.0-rc.1。我的组件定义如下。
import { Component, ViewContainerRef, ViewChild, Input, ComponentRef, ComponentResolver, ComponentFactory, OnChanges, AfterViewInit, OnDestroy,OnInit } from '@angular/core';
@Component({
selector: "wizardtab-content-container",
template: `<div #target>Hi</div>`
})
export class WizardTabContentContainer {
@ViewChild('target', { read: ViewContainerRef }) target;
@Input() type;
compRef: ComponentRef<any>;
private isViewInitialized: boolean = false;
constructor(private compResolver: ComponentResolver) {
console.log("Constructor called");
}
}
当我将它添加到我的应用程序时,我遇到了以下错误。
错误:未捕获(在承诺中):TypeError:无法获取属性 在resolvePromise中查询未定义或空引用 (http://localhost:3000/node_modules/zone.js/dist/zone.js:538:26)at 匿名功能 (http://localhost:3000/node_modules/zone.js/dist/zone.js:574:18)at ZoneDelegate.prototype.invokeTask (http://localhost:3000/node_modules/zone.js/dist/zone.js:354:18)at 在ZoneDelegate.prototype.invokeTask上的onInvokeTask(eval代码:36:25) (http://localhost:3000/node_modules/zone.js/dist/zone.js:354:18)at Zone.prototype.runTask (http://localhost:3000/node_modules/zone.js/dist/zone.js:256:22)at drainMicroTaskQueue (http://localhost:3000/node_modules/zone.js/dist/zone.js:474:26)at 调用 (http://localhost:3000/node_modules/zone.js/dist/zone.js:426:22)
如果我在具有ComponentResolver参数的组件中注释构造函数,则没有错误,并且呈现带有“Hi”的div标记。知道我在这里缺少什么吗?