Вставить элемент в директиву с другой директивой - PullRequest
0 голосов
/ 30 октября 2019

В моем коде мне нужно вставить элемент в директиву и использовать его как контейнер, чтобы отобразить какой-то компонент. Я хочу использовать другую директиву, чтобы внедрить ее в первую директиву.

Я пытаюсь использовать этот код для достижения этой цели. Но это не работает ...

@Directive({
  selector: 'someSelector',
})
export class MainDirective{
  private container: ViewContainerRef;
  private readonly factoryResolver: ComponentFactoryResolver,
  constructor(
    @Optional() containerDirective : ContainerDirective ,
  ) {
    this.container = containerDirective ? containerDirective.vcr : vcr;
  }

  ...
  use "container" to render there some component
  ...

}

И я хочу вставить элемент с помощью другой директивы:

import { Directive, ViewContainerRef } from '@angular/core';

@Directive({
  selector: '[containerDirective]',
})
export class ContainerDirective {
  constructor(public vcr: ViewContainerRef) {
  }
}
...