【问题标题】:how to pass the current tag instance to the events in angular2如何将当前标签实例传递给angular2中的事件
【发布时间】:2017-02-13 04:43:41
【问题描述】:

我有一个由<li><ul> 标签元素填充的左侧边栏菜单。我已经处理了菜单单击事件以展开/折叠子菜单项。

我在这里面临的问题是我无法传递/识别标签元素的当前实例来进行展开/折叠,即如果我展开特定菜单项,所有其他菜单项也会受到影响。我如何通过识别当前实例来进行所需的更改来处理这个问题。

请参阅有关问题的快照

我的 HTML 如下所示

<li [class.active]="menuLinkActive" (click)="MenuLinkToggle($event)">
    <a><i class="fa fa-home"></i> Home <span class="fa fa-chevron-down"></span></a>
        <ul class="nav child_menu" [style.display]="subMenuDisplay">
        <li>
            <a href="index.html">Dashboard</a>
        </li>
        <li>
            <a href="index2.html">Dashboard2</a>
        </li>
        <li>
            <a href="index3.html">Dashboard3</a>
        </li>
    </ul>
</li>
 <li [class.active]="menuLinkActive" (click)="MenuLinkToggle($event)">
    <a><i class="fa fa-edit"></i> Forms <span class="fa fa-chevron-down"></span></a>
    <ul class="nav child_menu" [style.display]="subMenuDisplay">
        <li>
            <a href="form.html">General Form</a>
        </li>
        <li>
            <a href="form_advanced.html">Advanced Components</a>
        </li>
         </ul>
</li>

我处理事件的组件

export class Layout {
    menuLinkActive: any;
    subMenuDisplay: any;
    isSubMenuExpanded: any;
    isMenuVisible: any;

    MenuLinkToggle(event) {
        if (this.isSubMenuExpanded) {
            console.log("if (this.isMenuExpanded) {");
            this.menuLinkActive = "";
            this.subMenuDisplay = "none";
            this.isSubMenuExpanded = false;
        }
        else {
            console.log("else (this.isMenuExpanded) {");
            this.menuLinkActive = "active";
            this.subMenuDisplay = "block";
            this.isSubMenuExpanded = true;
        }
    }
}

【问题讨论】:

    标签: css angular twitter-bootstrap-3 angular2-directives


    【解决方案1】:
    <li [class.active]="menuLinkActive" #li1 (click)="MenuLinkToggle($event, li1)">
    
    MenuLinkToggle(event, element) {
    

        MenuLinkToggle(event) {
          event.target...
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多