Итак, я это сделал. Думаю, эти фрагменты могут оказаться полезными кому-то ещё, поэтому вот то, чего мне не хватало в компоненте:
Это далеко не универсальная документация, но, возможно, она поможет кому-то, если это понадобится (или, может быть, я сам найду её в следующий раз, когда она мне потребуется!).
import { tracked } from '@glimmer/tracking';
...
@tracked myRating
constructor() {
super(...arguments);
this.userRatings = this.args.topic.user_ratings; // Инициализация отслеживаемого свойства
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;
}
....
// а затем в действии, которое изменяет значение:
this.myRating = Number(newStatus);