Pular para conteúdo

Quiz: Aula 05 ❓

Teste seus conhecimentos sobre a troca de dados entre componentes Pai e Filho.

  1. Qual decorator é usado para receber dados do componente pai?

    • ( ) @Output()
    • (x) @Input()
    • ( ) @Injectable()
    • ( ) @ViewChild()
    • Explicação: @Input() abre uma porta de entrada para dados externos ao componente.
  2. Como o filho envia informações para o pai?

    • ( ) Usando variáveis globais
    • ( ) Usando cookies
    • (x) Emitindo eventos via @Output() e EventEmitter
    • ( ) Alterando o arquivo do pai diretamente
    • Explicação: O componente filho emite um evento que o pai escuta através do Event Binding.
  3. Onde se faz o "binding" da propriedade @Input?

    • ( ) No TypeScript do filho
    • (x) No template HTML do pai (onde o seletor do filho é chamado)
    • ( ) No app.module.ts
    • ( ) No main.ts
    • Explicação: O pai passa o dado no HTML ao chamar o componente: <app-filho [prop]="valor">.
  4. O que é o $event na função do pai que escuta um @Output?

    • ( ) Um objeto do sistema que contém a data atual
    • (x) O valor ou objeto emitido pelo componente filho
    • ( ) O evento de clique do mouse nativo
    • ( ) Um erro de sintaxe
    • Explicação: $event captura o que foi enviado pelo emit() do filho.
  5. Um componente pode ter múltiplos @Input e @Output?

    • (x) Sim, quantos forem necessários para sua funcionalidade
    • ( ) Não, apenas um de cada
    • ( ) Sim, mas apenas se forem do tipo string
    • ( ) Não, componentes puros não usam decorators
    • Explicação: Componentes complexos podem ter diversas portas de entrada e saída.
  6. Qual o papel do EventEmitter?

    • ( ) Gerenciar o banco de dados
    • ( ) Criar formulários
    • (x) Facilitar a criação e emissão de eventos personalizados
    • ( ) Instalar dependências
    • Explicação: O EventEmitter é a classe que provê o método emit().
  7. Qual tipo de comunicação o @Input representa?

    • ( ) Bidirecional
    • ( ) Ascendente (Filho para Pai)
    • (x) Descendente (Pai para Filho)
    • ( ) Lateral (Irmão para Irmão)
    • Explicação: Os dados descem na hierarquia através de propriedades.
  8. O que é um "Dumb Component"?

    • ( ) Um componente que não funciona
    • (x) Um componente que apenas exibe dados e não tem lógica de negócio pesada
    • ( ) Um componente que não tem HTML
    • ( ) O módulo principal da aplicação
    • Explicação: Componentes "burros" (ou de apresentação) focam na UI e reuso.
  9. Como chamamos um componente que gerencia o estado e as regras de negócio?

    • ( ) Dumb Component
    • ( ) Simple Component
    • (x) Smart Component
    • ( ) Service Component
    • Explicação: Componentes "inteligentes" orquestram a lógica e os dados.
  10. Por que decorar uma propriedade com @Input()?

    • ( ) Para torná-la privada
    • (x) Para torná-la acessível via Property Binding no template do pai
    • ( ) Para salvá-la no LocalStorage
    • ( ) Para injetá-la em um serviço
    • Explicação: Sem o decorator, o Angular não permite que o pai atribua valor a ela no template.