ich eine Komponente (Baum-Widget) haben in Schräg 2.Speichern Komponentenstatus auf Routenänderung [Angular]
Es sieht wie folgt aus:
<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>
Ich habe zwei Ebenen, die zweite Ebene versteckt/Wird angezeigt, wenn auf den Namen eines Elements in der ersten Ebene geklickt wird.
Das Problem ist, dass jedes Mal, wenn ich auf einen Knoten in der zweiten Ebene klicke, der Baum seinen Status verliert (geschlossene Knoten werden wieder geöffnet und umgekehrt).
Ich verstehe, dass dies daran liegt, wie Angulars Router alle Komponenten neu zeichnet, und ich weiß, dass ich eine Lösung mit lokalem Speicher hacken könnte, um den Zustand isCollpased
beizubehalten, aber ich frage mich, ob es ein So kann ich Angular dazu bringen, sich an den Zustand der Komponente zu erinnern und sie automatisch anzuwenden oder besser noch, sie einfach irgendwie wiederzuverwenden, anstatt sie neu zu laden/neu zu zeichnen. Ist das möglich?