【问题标题】:Why my loop, loop twice in Angular/TypeScript?为什么我的循环,在 Angular/TypeScript 中循环两次?
【发布时间】:2022-01-10 04:47:14
【问题描述】:

为了简单起见,我创建了一个菜单,我的所有项目符号列表都存储在一个数组中。

我的问题是,当我运行循环时,它显示了 2 次,相同的值??我不明白为什么?

我认为问题出在 HTML 文件中?

admin.component.html

<div class="sidebar">
  <div class="logo-details">
    <i class="bx bxl-c-plus-plus"></i>
    <span class="logo_name">Menu</span>
  </div>
  <ul class="nav-links" *ngFor="let menu of menus; let i = index">
    <li>
      <a routerLink="market">
        <i class="bx bx-grid-alt"></i>
        <span class="links_name"> {{ menu.item }} </span>
      </a>
    </li>

    <li>
      <a routerLink="portfolio">
        <i class="bx bx-grid-alt"></i>
        <span class="links_name">{{ menu.item }} </span>
      </a>
    </li>
  </ul>
</div>
<section class="home-section">
  <nav>
    <div class="sidebar-button">
      <i class="bx bx-menu sidebarBtn"></i>
      <span class="dashboard">Dashboard</span>
    </div>
  </nav>
  <router-outlet></router-outlet>
</section>

TS

export class AdminComponent implements OnInit {
  showSubmenu: any[] = [];

  menus: any[] = [
    {
      item: 'Market',
      submenus: [{ item: 'Item' }],
    },
    {
      item: 'Portfolio',
      submenus: [{ item: 'Element' }],
    },
  ];

  constructor() {}

  ngOnInit() {}

  toggleMenu(index: number) {
    this.showSubmenu[index] = !this.showSubmenu[index];
  }
}

我无法检索每个数组的索引?我可以做这个?如果是这样...请问如何?

https://stackblitz.com/edit/angular-ivy-9ytvbk?file=src/app/admin/admin.component.html

【问题讨论】:

  • 您好,由于您使用了 2 个 Li 标签,因此您每件商品都获得了 2 次。在下面的答案中查看我的解决方案

标签: angular types


【解决方案1】:

【讨论】:

  • 谢谢谢赫。但是,如果我希望每个 有不同的图标,我该怎么办?谢谢 Cheikh。
  • 您可以将 css 类名存储在每个项目的菜单对象中,就像我为 routerlink 所做的那样
  • 比如我想为Portfolio添加这个图标&lt;i class="bx bx-box"&gt;&lt;/i&gt;
  • 好的。我会更新链接。现在呢?
  • Avec plaisir :) Tu parles français ? c'est bcp plus simple :) :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-07
  • 2018-10-11
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多