Я пытаюсь получить экземпляр угловой директивы, даже если он еще не визуализирован.
Например, я получил компонент приложения и директиву baz.Я хочу получить экземпляр директивы, даже если он не показывается / не отображается в dom.Конечно, я мог контролировать функциональность с помощью ввода var, но в моем случае было бы лучше / проще получить доступ к экземпляру и вызвать некоторые функции.Так что он должен вести себя как NgIf * не только через input var, но и через вызов функции экземпляра.
Так что мой вопрос, как мне получить экземпляр, даже если он не визуализируется или есть какие-то другие / лучшие способы обработкитакая ситуация?
import {Component, Directive, OnInit, TemplateRef, ViewChild, ViewContainerRef} from "@angular/core";
@Directive({selector: '[baz]'})
export class BazDirective
{
constructor(protected view: ViewContainerRef, protected template: TemplateRef<any>)
{
}
renderNow()
{
this.view.createEmbeddedView(this.template);
}
}
@Component({
selector: "app-root", templateUrl: "./app.component.html"
})
export class AppComponent implements OnInit
{
@ViewChild(BazDirective) bar: BazDirective
constructor()
{
}
ngOnInit(): void
{
this.bar.renderNow();
}
}
<div #bar *baz>foo</div>