是否可以在模板中定义一个条件,根据该条件附加单击处理程序?

例如,我能得到的最接近的结果是在click方法的输入处判断一个条件.

<a class='user' (click)=" isOverflown? menu.toggle($event): '' "></a>

如果标志isOverflown为false,是否有一种方法可以完全避免绑定到click事件?

另外,我不想在元素上使用ng-if并复制模板.ie:创建一个有click个绑定的元素,创建另一个没有绑定的元素,然后使用ng-if显示/隐藏它们

推荐答案

无法启用/禁用绑定.

这是有可能迫在眉睫地go 做的.

@ViewChild('.user') aUser:ElementRef; 

clickHandler(event) {
  console.log(event);
}
_clickHandler = this.clickHandler.bind(this);

ngAfterViewInit() {
  this.aUser.nativeElement.addEventListener('click', this._clickHandler); 
}  

取消订阅使用

this.aUser.nativeElement.removeEventListener('click', this._clickHandler); 

另见第Dynamically add event listener in Angular 2

Angular相关问答推荐

从Observatory的订阅方法外正确接收JSON数据

从Angular 14更新到15个多边形.ts问题

如何在init为FALSE时以Angular 初始化主拇指擦除器-Swiper 11.0.6Angular 17 SSR

向Anguar 17项目添加服务以启动和停止Loader-NGX-UI-Loader

如何解决在StackBlitz中使用SPARTIER时出现无法解析解析器错误(&C)?

RxJS轮询+使用退避策略重试

NG-Zorro Datepicker 手动输入掩码不起作用

npm install命令在基本Angular 应用程序的天蓝色构建管道中失败

Angular 12 区域环境切换器

如何在 form.value 中禁用复选框

Angular:将间隔与增量和减量相结合

在一个组件中创建多个表单

angular 13 ng 构建库失败(ivy部分编译模式)

Angular 4 设置下拉菜单中的选定选项

BrowserAnimationsModule 和 NoopAnimationsModule 有什么区别?

Angular2 - 从外部验证和提交表单

Angular ngClass 和单击事件以切换类

需要选中一个复选框

如何在Angular 2中将对象从一个组件传递到另一个组件?

在组件 Angular 2 中重定向