-1
votes

Économisez l'état du panneau d'expansion des tapis après la page de commutation

Exemple:

  1. Exemple-page : J'ouvre divers panneaux d'expansion sur cette page.

  2. i ensuite bascule vers une page différente.

  3. i ensuite revenez à "Exemple-page" et les panneaux que j'avais précédemment ouvert sont toujours ouverts.

    Quelqu'un peut-il donner une idée générale de la façon dont cela peut être fait?


0 commentaires

3 Réponses :


0
votes

Vous devez conserver une forme d'état entre les navigations de page: je suppose que vous pouvez travailler avec sauvegarder des données dans un cookie / session, utilisez un service pour conserver des données d'état ou utiliser une sorte de principe de magasin / Redux (NGRX et Autres)


0 commentaires

1
votes

Je pense qu'une bonne option consisterait à instaurer un magasin pour gérer l'état, la bibliothèque populaire pour Angular est NGRX Store, vous pouvez trouver la documentation ici https://github.com/ngrx/store


0 commentaires

0
votes

Il est assez simple et utilise un service de profil et un getter et un setter. Je ne suis pas sûr de savoir à quel point il est efficace, mais cela fonctionne.

1) d'abord le service, créez un service, si vous utilisez la CLI, mieux utiliser les valeurs par défaut. Ajoutez une propriété au service du numéro de type; p> xxx pré>

2) dans votre composant injecte votre service dans le constructeur (Google it si cela signifie rien), puis créez un getter et Setter avec le même nom de propriété (il n'a pas besoin d'être le même BTW) p> xxx pré>

3) Créer un couple de méthodes pour définir et vérifier la propriété "expansée" . P>

  mat-expansion-panel (opened)="setExpanded(i)"
  [expanded]="isExpanded(i)" *ngFor="let cat of categories let i = index;" 


0 commentaires