В моем коде мне нужно вставить элемент в директиву и использовать его как контейнер, чтобы отобразить какой-то компонент. Я хочу использовать другую директиву, чтобы внедрить ее в первую директиву.
Я пытаюсь использовать этот код для достижения этой цели. Но это не работает ...
@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) {
}
}