将上下文传递到动态创建的组件中的模板

时间:2019-02-20 15:19:59

标签: angular angular2-template angular2-directives

我想创建一个工具提示控件之类的组件。问题在于它仅适用于简单文本,但是当我想传递更复杂的ng模板(如绑定等)时,它就会中断。总的来说,我已经创建了一个主机组件,其中将显示传递的模板,以及创建该组件的指令。 但是似乎对于所传递的模板而言,所传递的上下文不可见。

指令:

@HostListener("mouseenter")
enter() {
    const factory = this.resolver.resolveComponentFactory(CustomContainerComponent);
    const injector = Injector.create([]);

    this.vcr.createComponent<CustomContainerComponent>(factory, 0, injector, this.generate());
}

generate(): any[][] {
    const context = { // this is mocked for now
      name:"John"
    };
    const viewRef = this.customControl.createEmbeddedView(context);

    return [viewRef.rootNodes];
}

以下是一个简单的例子,说明了堆栈闪电: https://stackblitz.com/edit/angular-mzhccs

0 个答案:

没有答案