【发布时间】:2018-04-11 20:22:28
【问题描述】:
我遇到了以下角度指令:
import { Directive , HostListener , HostBinding } from '@angular/core';
@Directive({
selector: '[appDropdown]'
})
export class DropdownDirective {
@HostBinding('class.open') isOpen = false;
@HostListener('click') toggleOpen() {
this.isOpen = !this.isOpen;
}
}
在网上浏览代码时,基本上代码只在使用指令的元素上切换open类,因此可以像这样使用该指令:
<ul class="nav navbar-nav navbar-right">
<li class="dropdown" appDropdown>
<a href="#" class="dropdown-toggle" role="button">Manage <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Save Data</a></li>
<li><a href="#">Fetch Data</a></li>
</ul>
</li>
</ul>
现在我不明白的是指令中的以下代码行:
@HostBinding('class.open') isOpen = false;
它到底在做什么以及它是如何运作的?我不太了解上面的代码行。有人可以解释一下吗?
【问题讨论】:
标签: angular angular2-directives