2
respostas

[Dúvida] Acredito que a alternativa esteja invertida.

Pergunta da questão se trata de : qual propriedade deve ser utilizada para garantir que essa comunicação( que um componente pai se comunique diretamente com um componente filho ) funcione de maneira adequada?

  • na alternativa C (Supostamente correta) fala que: "O decorator @Input() que permite que um componente pai receba informações de um componente filho."

Entretanto o @input() é um decorator utilizado no componente filho para que receba informações de um componente pai.

essa resposta está mesmo correta? se sim, poderia me explicar?

2 respostas

Olá, Matheus, tudo bem?

Você está correto na sua colocação. O decorator @Input() é utilizado no componente filho para permitir que ele receba dados de um componente pai, como você comentou. Na comunicação entre componentes em Angular, o componente pai envia dados para o filho através dessa propriedade, e o @Input() no componente filho "escuta" essas informações para utilizá-las.

Por exemplo, no componente pai, você poderia passar uma propriedade assim:

<app-filho [dados]="informacao"></app-filho>

E no componente filho, você usaria o @Input() para receber essa propriedade:

@Input() dados: string;

Então, o enunciado da questão está correto no sentido de descrever a comunicação entre pai e filho, mas a frase estava confusa sobre quem "recebe" as informações. O @Input() fica no filho, que recebe os dados do pai. Graças à você e seu olhar atento, já corrigimos esse detalhe.

Muito obrigada por ajudar a comunidade Alura a melhorar cada vez mais! O fórum está à disposição para qualquer dúvida :)

Um grande abraço e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Obrigado por compartilhar e reforço os pontos abordados pela Rafa!