Obtenha acesso ao componente glimmer para coisas do pai

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

gera um erro feio.


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

parece não gerar um erro.

Eu realmente preciso de above-topic-list-item, mas graças ao seu ótimo exemplo, consegui descobrir que ele deve ter o tópico em outletArgs,

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

Ha! Vou conseguir!

Então outletArgs significa que agora está no this da coisa? (É o que parece - pensei que precisaria procurar em args de alguma forma…)

Então, no meu conector hbs, posso acessar this.topic e então posso chamar meu componente assim:

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

E então no hbs para o componente RatingOne (um dia será renomeado apenas rating, já que descobri como passar coisas para ele) eu posso

  Este é o tópico {{this.topic.id}} {{this.topic.title}}
  Este é o id da categoria: {{this.topic.category_id}})

e obter as coisas do tópico!

E agora eu vejo o tópico, agora posso ir adicionar meus args ao serializador do tópico, certo? (Pode ser melhor passá-lo apenas para a categoria. . . ou talvez eu apenas passe um valor “doTheThing” no serializador e obtenha as coisas reais de SiteSettings, já que acho que eles querem isso no nível do site e não no nível da categoria).

A menos que eu tenha tropeçado em algo mais obsoleto, parece que você conseguiu. Muito obrigado. :beer: :beers: :clinking_glasses: :moneybag:

3 curtidas