Lee*_*Lee 5 angular2-directives angular2-components angular
我有一个接受事件的指令:
<td calendarEvent [event]=event><td>
在指令中,我具有HostBinding用于根据事件添加类的,以及HostListener用于侦听mouseenter和mouseleave事件的。例如:
@HostBinding('class.all-day') get eventIsAllDay() {
if (this.event) return this.event.is_all_day;
}
Run Code Online (Sandbox Code Playgroud)
许多<td>旨意具有undefined的[event]输入。有没有一种方式HostBinding,并HostListener根据条件将被添加?在每次更改检测中,它都必须为每个<td>标签运行所有绑定和侦听器,即使没有事件也是如此。也许所需的计算能力可以忽略不计,但是我敢肯定一点点帮助,特别是对于移动设备。
无法有条件地添加这些。
您可以使用属性并绑定到该属性。使用属性进行更改检测比使用函数或 getter 更有效。
@HostBinding('class.all-day')
eventIsAllDay:boolean = false;
set event(val) {
this.event.is_all_day === val;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3290 次 |
| 最近记录: |