Получите доступ к элементам из родительского компонента Glimmer

{{log "rating this parent" this.parentView._parentView.topic}}

вызывает некрасивую ошибку.

<RatingOne @scaleValue={{this.scaleValue}} @passedRouter={{this.router}} @topic={{this.parentView}} />

кажется, не вызывает ошибки.

Мне действительно нужен above-topic-list-item, но благодаря вашему отличному примеру я смог найти, что тема должна находиться в outletArgs,

https://github.com/discourse/discourse/blob/main/app/assets/javascripts/discourse/app/components/topic-list/topic-list-item.gjs#L284

Ха! Я собираюсь это сделать!

Так что outletArgs означает, что теперь это находится в this самого компонента? (Так это выглядит — я думал, что мне нужно будет как-то искать в args…)

Так что в моём коннекторе hbs я могу обращаться к this.topic, а затем вызывать свой компонент вот так:

<RatingOne @name="one" @topic={{this.topic}}/>

А затем в hbs для компонента RatingOne (когда-нибудь переименую его просто в rating, раз уж я понял, как передавать ему данные) я могу написать:

  Это тема {{this.topic.id}} {{this.topic.title}}
  Это id категории: {{this.topic.category_id}})

и получить данные о теме!

И теперь, когда я вижу тему, я могу добавить свои аргументы в сериализатор темы, верно? (Возможно, лучше передать их просто в категорию… или, может быть, я просто передам значение “doTheThing” в сериализатор и получу реальные данные из SiteSettings, так как, кажется, они хотят, чтобы это было на уровне сайта, а не категории).

Если я каким-то образом не наткнулся на что-то ещё устаревшее, то, похоже, вы это сделали. Огромное спасибо. :beer: :beers: :clinking_glasses: :moneybag: