角度2中的bootstrap下拉“打开”事件

时间:2017-01-13 09:17:04

标签: twitter-bootstrap angular

我正在尝试创建一个指令,该指令在点击时打开引导下拉列表并在鼠标离开时关闭它。  下拉指令代码:

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 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>

但它不起作用......

1 个答案:

答案 0 :(得分:0)

好的,愚蠢的问题...... IDE改变了li元素中的指令名称而我没注意到它