是否可以在模板中定义一种条件,根据该条件附加点击处理程序?
例如,我能做到的最接近的是在点击方法的入口处评估一个条件。
<a class='user' (click)=" isOverflown? menu.toggle($event): '' "></a>
如果标志isOverflown
为假,是否有一种方法可以完全避免绑定到单击事件?
另外,我不想在元素上使用ng-if
并复制模板。即:创建一个具有click
绑定的元素和创建另一个不带click
绑定的元素,然后使用ng-if
显示/隐藏它们。
@ViewChild('.user') aUser:ElementRef;
然后this.aUser.nativeElement.addEventListener(...);
或removeEventListener()
。 - Günter Zöchbauer@Input
之一提供值时才需要。因此,我只知道这两种方法,但我不想使用ng-if
,因为模板太大会重复。所以,我想知道是否有一种声明性的方式,如果条件不满足,则根本不注册处理程序。这解释了我试图做什么吗? - Himanshu Aroraif (!isOverflown) {return}
,就可以达到相同的效果。 - John Montgomery