Détection de changement de composant Glimmer ne fonctionne pas - Modification des propriétés dans le tableau @tracked

Hmm, c’est étrange. L’astuce d’assignation de tableau fonctionne généralement.

Une alternative que j’ai trouvée consiste à faire en sorte que les objets du tableau proviennent d’une classe avec ses propres propriétés suivies. Quelque chose comme :

class CustomSidebarItem {
  @tracked expanded = false;
  constructor(id, label) {
    this.id = id;
    this.label = label;
  }
}

export default class CustomSidebarComponent extends Component {

  @tracked items = [
    new CustomSidebarItem('home', 'Home'),
    new CustomSidebarItem('my-posts', 'My Posts'),
    ...
  ];
  // reste de votre code
}

C’est peut-être plus verbeux que de créer un tas d’objets simples, mais j’ai constaté que cela rendait l’extension et le raisonnement plus faciles, surtout si vous avez besoin de faire quelque chose comme passer les données à des composants imbriqués.

4 « J'aime »