Ich habe es also getan. Ich glaube, diese Teile könnten für jemand anderen hilfreich sein, also hier ist, was mir in der Komponente gefehlt hat:
Das ist weit davon entfernt, eine allgemein nützliche Dokumentation zu sein, aber vielleicht hilft sie jemandem, wenn er sie braucht (oder vielleicht finde ich sie beim nächsten Mal, wenn ich sie brauche!).
import { tracked } from '@glimmer/tracking';
...
@tracked myRating
constructor() {
super(...arguments);
this.userRatings = this.args.topic.user_ratings; // Initialisiere getrackte Eigenschaft
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;
}
....
// und dann in der Aktion, die den Wert ändert:
this.myRating = Number(newStatus);