繁体   English   中英

有条件地绑定Aurelia的活动

[英]Conditionally bind an event in Aurelia

是否可以在html视图中使用.trigger().delegate()有条件地绑定事件?

这是常规方式:

<div mousedown.delegate="handleMouseDown($event)"></div>

我想的是:

<div mousedown.delegate="isDraggable ? handleMouseDown($event) : null"></div>

理想情况下,如果isDraggable === false不会注册处理程序。

目前我只是在视图模型attached()函数中进行此检查.addEventListener()有更好的方法吗?

正如@thebluefox在问题评论中指出的那样

<div mousedown.delegate="isDraggable ? handleMouseDown($event) : null"></div>

确实有效但添加绑定行为时会出现一些问题。

在评估三元时,以下示例将失败

<div mousedown.delegate="isDraggable ? handleMouseDown($event) & throttle:500 : null"></div>

<div mousedown.delegate="isDraggable ? (handleMouseDown($event) & throttle:500) : null"></div>

作为一种解决方法,您可以反转测试,以便绑定是最后的例如

<div mousemove.delegate="!isDraggable ? null : handleMouseMove($event) & throttle:500 "></div>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM