שינוי זיהוי רכיב Glimmer לא עובד - שינוי מאפיינים במערך @tracked

ובכן, זה מוזר. טריק השמת המערך בדרך כלל עובד.

חלופה שמצאתי היא לגרום לאובייקטים במערך להיות ממחלקה עם מאפיינים מעקב משלה. משהו כמו:

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'),
    ...
  ];
  // שאר הקוד שלך
}

זה יכול להיות יותר מפורט מאשר יצירת הרבה אובייקטים פשוטים, אבל מצאתי שזה מקל על הרחבה והיגיון, במיוחד אם אתה צריך לעשות משהו כמו העברת הנתונים לרכיבים מקוננים.

4 לייקים