Aggiornamenti live dei componenti

Quindi l’ho fatto. Penso che questi pezzi potrebbero essere utili per qualcun altro, quindi ecco cosa mi mancava nel componente:

Questo è tutt’altro che una documentazione generalmente utile, ma forse aiuterà qualcuno se ne avrà bisogno (o forse la troverò la prossima volta che ne avrò bisogno!).

import { tracked } from '@glimmer/tracking';
...
  @tracked myRating

 constructor() {
    super(...arguments);
    this.userRatings = this.args.topic.user_ratings;  // Initialize tracked property
    if (!this.args.topic.user_ratings) {
      return [];
    }
    const ratingId = this.args.id;
    const rating = this.args.topic.user_ratings.find((rating) => Number(rating.rating_id) === Number(ratingId));
    this.myRating = rating?.rating_value;
    }

....
 // and then in the action that changes the value:
        this.myRating = Number(newStatus);
2 Mi Piace