>我正在尝试创建一个指令,该指令在单击时打开引导下拉列表,并在鼠标离开时将其关闭。 下拉指令代码:
import {Directive, HostBinding, HostListener} from '@angular/core';
@Directive({
selector: '[rbDropdown]'
})
export class DropdownDirective {
@HostBinding('class.open') get opened() {
return this.isOpen;
}
@HostListener('click') open(){
this.isOpen = true;
}
@HostListener('mouseleave') close(){
this.isOpen = false;
}
private isOpen = false;
}
然后,在下拉 li 项中,我使用此指令:
<li class="dropdown" rbdropdown>
<a href="#" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false">User <span class="caret"></span></a>
<ul class="dropdown-menu">
<li><a href="#">Login</a></li>
<li><a href="#">Otg=her</a></li>
<li role="separator" class="divider"></li>
<li><a href="#">Logout</a></li>
</ul>
</li>
但它不起作用...
好吧,愚蠢的问题...IDE 更改了 li 元素中的指令名称,我没有注意到它