动态安装角度2指令

时间:2017-07-13 14:55:02

标签: angular typescript angular2-directives

上下文

我有一个简单的指令,它根据接收的属性为给定的HTML元素添加一些属性。

<button class="btn btn-blue x-large" [myDirective]="{ some_json_data: true }">
    Unfold
</button>

myDirective指令只是在ngOnInit钩子中做了一些逻辑并装饰了ElementRef本机元素(在这种情况下是按钮)添加属性,没有什么复杂的。

ngOnInit(): void {
  const el: Element = this.element.nativeElement;
  this.decorate(el, this.myDirective);
}

问题

基于给定的逻辑(在myDirective装饰中)我想在ElementRef的{​​{1}}引用的元素中添加工具提示(这是另一个指令)。

如何手动挂载指令以及如何将其添加到元素(ViewContainerRef)?

2 个答案:

答案 0 :(得分:2)

不支持动态添加或删除指令。只能动态添加和删除组件(只能动态删除动态添加的组件)。

答案 1 :(得分:2)

您不会动态添加或删除指令,但是如果要添加工具提示 您必须在组件模板中插入一个div,根据变量状态

激活它

<div [hidden]="tooltipnotshown"
     class="tooltip">
 blah blah or whatever ...
</div>