首页 > 解决方案 > 如何知道数组中的最后一个对象?角度(角度材料选项卡)

问题描述

我有对象数组

[{id: 1, name: home , path: 'home'}, {id: 2, name: contact , path: 'contact'}]

数组可以有很多对象。我有添加对象的功能:

  addTab(selectAfterAdding: any) {
    if (!this.tabs.some(objectItem => objectItem.id == selectAfterAdding.id)) {
      this.tabs.push(selectAfterAdding);
    }
  }

还有删除和返回路由器的功能。

removeTab(index: number, event: Event) {
  this.tabs.splice(index, 1); 
  this._location.back();
}

html:

<nav mat-tab-nav-bar>
      <a mat-tab-link
         *ngFor="let tab of tabs;let i = index;"
         [routerLink]="tab.path"
         routerLinkActive #rla="routerLinkActive" 
         [active]="rla.isActive"
         class="test"
         >
        {{ tab.name }}
        <span class="span-X-icon" (click)="removeTab(i)" >  delete </span> 
      </a>
    </nav> 

        <mat-panel-title routerLink="/home" (click)="addTab({ id: 1 , name: 'home' , path: 'home'})">
              Home page
        </mat-panel-title>

问题是当删除不活动的选项卡时返回路径..我不知道要解决这个问题。也许如何检查 url 中的活动路由???

标签: javascripthtmlcssangularangular-material

解决方案


您可以使用“ selectFocusedIndex ”事件或“selectedIndex”属性来跟踪活动选项卡。还要添加条件以检查删除选项卡功能中的活动选项卡,以便导航回上一个路线。


推荐阅读