サイドメニューを持つサイドナビゲーションがあります。メニュー内の何かをクリックすると、右側に対応する詳細が表示されます。固定された左メニューのクリック状態を保存します
メニューにはサブメニューがありますので、メニューサブメニューをクリックすると表示されます。
ページをリロードすると、右側の詳細は保存できますが、サブメニューは表示されません。どのように私はそれを保存することができます。
HTML
<nav class="sidebar">
<ul class="list-group" *ngFor="let tenant of tenants ;trackBy: trackId">
<div class="nested-menu">
<a [routerLink]="['../tenant', tenant.id ]" class="list-group-item" (click)="addExpandClass(tenant.id)">
<span><i class="fa fa-th-list"></i> {{tenant.name}}</span>
</a>
<li class="nested" [ngClass]="{'expand' : showMenu === tenant.id }">
<ul class="submenu" *ngFor="let dataConfiguration of tenant.dataConfigurations ;trackBy: trackId">
<li>
<a href><span>{{dataConfiguration.name}}</span></a>
</li>
</ul>
</li>
</div>
</ul>
</nav>
サイドメニューJS
import { Component, Input } from '@angular/core';
@Component({
selector: 'sidebar-cmp',
templateUrl: 'sidebar.html',
styleUrls: [
'sidebar.scss'
]
})
export class SidebarComponent {
@Input() tenants = 0;
showMenu: string = '';
addExpandClass(element: any) {
if (element === this.showMenu) {
this.showMenu = '0';
} else {
this.showMenu = element;
}
}
}
親HTML
<div class="container-fluid">
<div class="row">
<div class="col-md-2">
<sidebar-cmp [tenants] = "tenants"></sidebar-cmp>
</div>
<div class="col-md-10">
<router-outlet></router-outlet>
</div>
</div>
</div>
ページをリロードするときにサブメニューを表示しますか? –
@Kinduser:yes –