لذا لقد فعلتها. أعتقد أن هذه الأجزاء قد تكون مفيدة لشخص آخر، لذا إليك ما كنت أفتقده في المكون:
هذا بعيد كل البعد عن توثيق مفيد بشكل عام، ولكن ربما سيساعد شخصًا ما إذا احتاج إليه (أو ربما أجده في المرة القادمة التي أحتاجه فيها!).
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);