分叉 PlunkerHere is an example Plunker. Any help is appreciated!@Component({ selector: 'component1', template : ` <h3>{{title}}</h3> <button (click)='dismiss()'>dismiss</button> <ng-container *ngComponentOutlet="Component2; injector: myInjector; content: myContent"> </ng-container> `})export class Component1 implements OnInit{ title : string = "hello!"; myInjector: Injector; myContent: any; constructor(private injector : Injector){ this.myInjector = ReflectiveInjector.resolveAndCreate([ { provide : Component2, useClass : Component2 }, { provide: TestObject, useFactory: ()=> { return new TestObject("123", "hello world!", "<h2>sample</h2>", "{"a":{"b":{"Value":"test"},"c":{"Value":"test 1"}}}"); } } ], this.injector); } ngOnInit(){ var templateParent = document.createElement("div"); templateParent.innerHTML = "<h2>this is test html!</h2>"; this.myContent = [templateParent.childNodes]; } dismiss(){ console.log('dismiss clicked!'); }} 解决方案 I don't see Component2 property in Component1. So you're passing undefined to *ngComponentOutletTry the followingexport class Component1 implements OnInit{ Component2 = Component2;And you have syntax error"{"a":{"b":{"Value":"test"},"c":{"Value":"test 1"}}}"you should use it as'{"a":{"b":{"Value":"test"},"c":{"Value":"test 1"}}}'Forked Plunker 这篇关于ReflectiveInjector 未使用 ngComponentOutlet 指令正确实例化组件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!
10-29 00:48