Accedere ai componenti glimmer per le cose dal genitore

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

genera un errore brutto.

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

sembra non generare un errore.

Ho davvero bisogno di above-topic-list-item, ma grazie al tuo ottimo esempio, sono riuscito a scoprire che dovrebbe avere il topic in outletArgs,

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

Ah! Lo farò!

Quindi outletArgs significa che ora è nel this della cosa? (Questo è quello che sembra - pensavo che avrei dovuto cercare in args in qualche modo…)

Quindi nel mio hbs di connessione, posso accedere a this.topic e poi posso chiamare il mio componente in questo modo:

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

E poi nell’hbs per il componente RatingOne (un giorno sarà rinominato semplicemente rating dato che ho capito come passarci le cose) posso

  Questo è il topic {{this.topic.id}} {{this.topic.title}}
  Questo è l'id della categoria: {{this.topic.category_id}})

e ottenere le cose del topic!

E ora vedo il topic, ora posso andare ad aggiungere i miei argomenti al serializzatore del topic, giusto? (Potrebbe essere meglio passarlo solo alla categoria… o forse passerò solo un valore “doTheThing” nel serializzatore e otterrò le cose effettive da SiteSettings, dato che penso che vogliano questo a livello di sito e non di categoria).

A meno che non mi sia imbattuto in qualcos’altro di deprecato, sembra che tu l’abbia fatto. Grazie un milione. :beer: :beers: :clinking_glasses: :moneybag:

3 Mi Piace