Pular para o conteúdo principal

Questão de Programação — Frameworks em Programação — Quadrix 2024

ProgramaçãoFrameworks em Programação
Código
qg347315
Banca
Quadrix
Órgão
CFP
Ano
2024
Nível
Superior
Cargo
Analista Técnico/TI/Desenvolvimento
Em relação ao padrão MVC e às ferramentas Vue.js e Alpine.js, julgue o item seguinte.A sintaxe completa para a criação de um componente no Vue.js, por exemplo, é apresentada a seguir.Vue.component(‘my‑component’, { data() { return { message: ‘Atenção Psícologos!’ }; } });
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoE — Errado

Comentário gerado por IA. É um apoio ao estudo, ancorado em fontes, mas pode conter imprecisões — confira sempre na fonte oficial (lei, súmula, edital e gabarito da banca). Encontrou um erro? Use “Reportar”.

Vue.js: criação de componentes e a sintaxe correta

Gabarito: E — ERRADO. A afirmação está incorreta porque a sintaxe apresentada para criação de componente no Vue.js contém um erro: a propriedade data deve ser uma função que retorna um objeto, e não um objeto diretamente. A forma correta seria data() { return { message: 'Atenção Psicólogos!' }; } — que é exatamente o que o enunciado mostra, mas a questão afirma que essa é a sintaxe "completa" e correta, o que não procede, pois falta a definição do template ou render para o componente ser completo. A banca explora a confusão entre a sintaxe de criação de componente e a necessidade de um template para que ele seja renderizável.

O Vue.js é um framework JavaScript progressivo para construção de interfaces de usuário. Ele adota o padrão MVVM (Model-View-ViewModel), uma variação do MVC, onde o ViewModel é a camada que liga a View (DOM) ao Model (dados). A criação de componentes é um dos conceitos centrais do Vue, permitindo a reutilização de código e a organização da aplicação em blocos independentes.

A sintaxe para criar um componente global no Vue.js 2.x é Vue.component('nome-do-componente', { opções }). As opções incluem data, template, methods, computed, entre outras. O ponto crucial é que data deve ser uma função que retorna um objeto, para que cada instância do componente tenha seu próprio estado isolado. Se data fosse um objeto simples, todas as instâncias compartilhariam o mesmo estado, causando bugs.

No exemplo dado, data() { return { message: 'Atenção Psicólogos!' }; } está correto como definição de data. No entanto, o componente está incompleto porque não possui um template (ou render). Sem um template, o componente não sabe o que renderizar no DOM. A sintaxe "completa" exigiria, no mínimo, um template, como:

Vue.component('my-component', {
  data() { return { message: 'Atenção Psicólogos!' }; },
  template: '<p>{{ message }}</p>'
});

Assim, a afirmação do enunciado é falsa porque apresenta um componente sem template, o que não é uma definição completa e funcional. A banca explora a pegadinha de considerar apenas a parte de data como suficiente, ignorando a necessidade do template.

NÃO CAIA NESSA!

A banca induz ao erro ao apresentar um componente com data corretamente definido como função, mas sem template. O candidato desatento pode achar que a sintaxe está completa, mas falta o template para o componente renderizar. Lembre-se: um componente Vue precisa de data (função) e template (ou render) para ser completo.

Item — ❌ Errado

A afirmação está errada porque a sintaxe apresentada não é a "sintaxe completa" para criação de um componente no Vue.js. Embora a definição de data como função esteja correta, falta o template (ou render), que é essencial para o componente renderizar conteúdo. Sem template, o componente não tem o que exibir, tornando a definição incompleta e não funcional.

Gabarito: E — ERRADO.

Link permanente: /questoes/qg347315