我有一個組件(樹部件)它看起來像這樣:保存組件狀態[角]
<div *ngFor="let foo in foos">
<span (click)="isCollapsed[foo.id] = !isCollapsed[foo.id]">{{ foo.name }}</span>
<div class="container" [ngClass]="{'hidden': isCollapsed[foo.id]}">
<div *ngFor="let bar in foo.bars">
<a [routerLink]=".......">{{ bar.name }}</a>
</div>
</div>
</div>
我有兩個層次,第二個層次是隱藏/在第一級單擊元素的名稱時顯示。
的問題是,每次我在第二級的節點上單擊時間,樹失去了它的狀態(關閉節點獲得再次打開,反之亦然)。
我知道這是因爲Angular的路由器是如何重新繪製所有組件的,我知道我可以使用本地存儲破解一些解決方案來堅持isCollpased
的狀態,但我想知道是否有一個這樣我就可以使角記得組件的狀態,並自動應用它,甚至更好,只是重複使用它在某種程度上代替重新加載/重新繪製的。那可能嗎?