[英]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.