有什么方法可以将点击绑定到ng-container?

时间:2019-11-22 10:57:35

标签: angular ng-container

我有一个由ng-container组成的组件,我想绑定一下它。 (click)不起作用。

还有另一种方法吗?

2 个答案:

答案 0 :(得分:2)

实际上,代码中的@HostListener('click', ['$event'])可以完成这项工作。

问这个问题让我想到了。

答案 1 :(得分:0)

ng-container不会呈现为元素,因此您无法引发点击事件

@Directive({
  selector: '[appClickHandler]'
})
export class ClickHandlerDirective {

   @HostListener('click', ['$event']) log(e){
    console.log(e)
  }
}

这不会引发任何点击事件

<ng-container appClickHandler>
  <div>
    ng container  with click 
  </div>
</ng-container>

但是您可以将点击处理程序添加到ng-container内部的元素

<ng-container >
  <div appClickHandler>
    ng container  with click 
  </div>
</ng-container>

demo ?

  

ng容器   Angular是一个分组元素,不会干扰样式或布局,因为Angular不会将其放在DOM中。

这又是条件段落,这次使用。

<p>
  I turned the corner
  <ng-container *ngIf="hero">
    and saw {{hero.name}}. I waved
  </ng-container>
  and continued on my way.
</p>

ng-continer doc