角度2滤波器和切换功能无法按预期工作

时间:2017-10-18 10:07:11

标签: javascript html css angular

我创建了一个汉堡菜单,并且有用于显示子类别的切换功能,此切换功能正常工作,直到我对它们应用过滤器。通过过滤器切换功能搜索类别后无效。

这是我的HTML代码

<ul class="nav navbar-nav">
<div id="menuToggle" class="sidenav">
<ul id="menu">
  <li>
   <input class="form-control" type="search" [(ngModel)]="txtToSearch" placeholder="Search"/>
  </li>
  <li *ngFor="let category of (componentContents.dashboardMenu | dashboardFilter : txtToSearch); let i = index" >
   <p class="toggleMenu" (click)="toggleMenu(i,componentContents.dashboardMenu)">{{category.category}}
    </p>

    <div *ngIf="category.show">
      <ul id="{{(category.category).split(' ').join('-')}}" *ngIf="category.subCategory.length > 0">
        <li *ngFor="let subCat of category.subCategory">
          <a routerLink={{subCat.router}} routerLinkActive="active">             
          <span class="glyphicon glyphicon-bell" ></span>{{subCat.subcategory}} </a></li>
      </ul>
    </div>
    <hr />
  </li>
</ul>

在component.ts中使用此代码切换功能

toggleMenu(index, catArry) {
if (catArry[this.prevClicked] && this.prevClicked !== index) {
  catArry[this.prevClicked].show = false;
}
catArry[index].show = !catArry[index].show;
this.prevClicked = index;
 }

1 个答案:

答案 0 :(得分:2)

/usr/bin/java变量仅适用于当前结果。因此,当应用过滤器时,结果会发生变化,索引也不会与数组中元素的实际位置相对应。

您可以将类别本身传递给#!/bin/sh export JAVA_HOME=/path/to/java8/home export PATH=/path/to/java8/bin/:$PATH cordova "$@" 函数而不是索引,并使用index

计算toggleMenu(category, catArray)函数中的索引
相关问题