组件的实时更新

所以,我做到了。我认为这些片段可能对其他人有所帮助,所以这是我在组件中遗漏的内容:

这远非通用的有用文档,但也许它能在某人需要时帮助到他们(或者下次我需要时能帮到我自己!)。

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);
2 个赞