Pular para o conteúdo principal

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

ProgramaçãoFrameworks em Programação
Código
qg354227
Banca
Quadrix
Órgão
IBICT
Ano
2024
Nível
Superior
Cargo
Tecnologista - Tecnologia da Informação
No que diz respeito ao Bootstrap, ao TypeScript e ao Angular, versão 1, julgue o item.O Two‑Way Data Binding é uma característica do Angular que permite que as alterações realizadas no modelo (dados) atualizem automaticamente a visualização (interface do usuário) e vice‑versa, sem a necessidade de se escrever o código manualmente para sincronizar os dois.
  1. CCerto
  2. EErrado
Revelar gabarito e comentário

GabaritoC — Certo

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”.

Two-Way Data Binding no Angular

Gabarito: C — CERTO. A afirmação está correta porque o Two-Way Data Binding é, de fato, uma característica do Angular (incluindo o AngularJS, versão 1) que sincroniza automaticamente o modelo (dados) e a visualização (interface), refletindo alterações em ambos os sentidos sem a necessidade de código manual de sincronização. Essa é a definição clássica do conceito, amplamente documentada na documentação oficial do Angular.

O Two-Way Data Binding é um dos pilares do AngularJS (versão 1) e continua presente, com adaptações, nas versões modernas do Angular (2+). Ele se baseia na combinação de duas ligações unidirecionais: a property binding (do modelo para a view) e a event binding (da view para o modelo). No AngularJS, isso é feito através da diretiva ng-model, que estabelece a sincronização bidirecional entre o valor de um elemento de formulário (como um input) e uma variável no escopo do controlador. Quando o usuário digita em um campo, o modelo é atualizado automaticamente; quando o modelo é alterado programaticamente, a interface é atualizada na hora. Essa mágica é possível graças ao mecanismo de dirty checking e ao digest cycle, que monitoram as mudanças e propagam as atualizações.

Na prática, imagine um campo de texto para o nome do usuário. Com ng-model="nome", qualquer alteração digitada no campo atualiza a variável nome no escopo, e qualquer alteração em nome (por exemplo, via código) atualiza o campo na tela. Isso elimina a necessidade de escrever listeners de eventos e manipulações manuais do DOM, que seriam necessárias em JavaScript puro ou em outras bibliotecas que não oferecem esse recurso nativamente.

É importante distinguir o Two-Way Data Binding de outras abordagens. No React, por exemplo, o fluxo de dados é unidirecional: o estado é passado para os componentes via props, e as alterações são propagadas através de callbacks (como onChange). O Vue.js também oferece v-model, que é uma sintaxe semelhante ao ng-model do AngularJS. O Two-Way Data Binding é uma característica que facilita o desenvolvimento, mas pode trazer complexidade em aplicações grandes, pois o fluxo de dados fica menos previsível. Por isso, o Angular moderno (2+) incentiva o uso de fluxo unidirecional com [(ngModel)] apenas em casos específicos, mas o conceito permanece o mesmo.

A banca explora aqui um conceito fundamental e bem definido. A pegadinha, se houvesse, seria confundir o Two-Way Data Binding com o One-Way Data Binding (que é unidirecional) ou com a simples atualização manual do DOM. Mas a afirmação é precisa e descreve exatamente o que o recurso faz. Portanto, a assertiva está correta.

1Sincroniza modelo ↔ visualização
Modelo → View (property binding)
View → Modelo (event binding)
2AngularJS (v1)
Diretiva ng-model
Dirty checking + digest cycle
3Angular 2+
Sintaxe [(ngModel)]
4Alternativas
React: fluxo unidirecional (props + callbacks)
Vue.js: v-model
Two-Way Data Binding
LEVELsoulevel.com.br
Two-Way Data Binding: Sincroniza modelo ↔ visualização (Modelo → View (property binding), View → Modelo (event binding)); AngularJS (v1) (Diretiva ng-model, Dirty checking + digest cycle); Angular 2+ (Sintaxe [(ngModel)]); Alternativas (React: fluxo unidirecional (props + callbacks), Vue.js: v-model)

Item — ✅ CERTO

A afirmação descreve corretamente o Two-Way Data Binding: as alterações no modelo atualizam a visualização e vice-versa, automaticamente, sem código manual de sincronização. Isso é exatamente o que o recurso faz no Angular (e no AngularJS). A diretiva ng-model no AngularJS e a sintaxe [(ngModel)] no Angular 2+ implementam essa sincronização bidirecional. Não há erro na definição apresentada.

Gabarito: C — CERTO.

Link permanente: /questoes/qg354227