I have a simple directive that add some attributes to a given HTML element based on received attributes.
<button class="btn btn-blue x-large" [myDirective]="{ some_json_data: true }">
Unfold
</button>
The myDirective
directive just does some logic in the ngOnInit
hook and decorates the ElementRef
native element (in this case the button) adding attributes, nothing complicated.
ngOnInit(): void {
const el: Element = this.element.nativeElement;
this.decorate(el, this.myDirective);
}
Based on a given logic (in myDirective
decoration) I want to add a tooltip (which is another directive) to the element referenced by ElementRef
at myDirective
.
How do I mount a directive manually and how do I add it to an element (ViewContainerRef)?
Adding or removing directives dynamically is not supported. Only components can be added and removed dynamically (only dynamically added components can be removed dynamically).
You do not add or remove directives dynamically, but if you want to add a tooltip you have to insert a div in your component template that activates it depending on a variable status
<div [hidden]="tooltipnotshown"
class="tooltip">
blah blah or whatever ...
</div>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With