🚀 Capítulo 03: Interpolation e Property Binding
🎯 Objetivo da Aula
Ao final desta aula, você será capaz de enviar dados do seu arquivo TypeScript (lógica) diretamente para a sua tela (HTML) usando duas técnicas fundamentais do Angular: Interpolation e Property Binding.
🏢 O Cenário Prático (Seu Desafio)
Um bom piloto precisa ver as informações da nave em tempo real. Seu desafio hoje é exibir o nome do piloto e o nível de energia dos motores no painel, puxando esses dados direto do “computador de bordo” (arquivo TypeScript)!
🧠 Fundamentos: A Teoria Traduzida
O Angular facilita a comunicação entre o arquivo .ts (onde ficam as variáveis) e o arquivo .html (onde as coisas aparecem).
1. Interpolation (Interpolação) {{ }}
Serve para “colar” o valor de uma variável diretamente no meio do texto do seu HTML.
- Sintaxe:
{{ nomeDaVariavel }} - Exemplo: Se no
.tsvocê temnome = 'Luke', no HTML<h1>Olá, {{ nome }}</h1>vai aparecer como “Olá, Luke”.
2. Property Binding [ ]
Serve para controlar as propriedades de uma tag HTML (como o src de uma imagem ou o disabled de um botão) usando uma variável.
- Sintaxe:
[propriedade]="variavel" - Exemplo:
<button [disabled]="bloqueado">Atirar</button>
📖 Exemplo Guiado: Exibindo o Nome do Piloto
Vamos atualizar o componente do painel de controle que criamos na aula passada.
🛠️ Passo a Passo
- Abra o arquivo
src/app/painel-controle/painel-controle.component.ts. - Dentro da classe, crie a variável
nomePiloto:
export class UserProfileComponent { // Nome pode variar se você usou a CLI
nomePiloto: string = 'Luke Skywalker';
}- Abra o arquivo
src/app/painel-controle/painel-controle.component.htmle use a interpolação:
<div class="painel">
<h2>🎛️ Painel de Controle</h2>
<p>Piloto Atual: **{{ nomePiloto }}**</p>
</div>🕹️ Como Executar e Testar no VS Code
- Salve os arquivos.
- Se o
ng servejá estiver rodando, o navegador atualizará sozinho. Se não, executeng serve. - Veja o nome do Luke aparecer na tela!
🛠️ Prática Obrigatória 1
No mesmo arquivo .ts, crie uma variável chamada nivelEnergia do tipo número e atribua o valor 85.
Exiba essa informação no HTML logo abaixo do nome do piloto usando Interpolação.
🛠️ Prática Obrigatória 2
Crie uma variável booleana chamada hiperdrivePronto e defina como false.
No HTML, crie um botão com o texto “Saltar para o Hiperespaço”. Use o Property Binding para deixar o botão desabilitado ([disabled]) baseado no valor da variável hiperdrivePronto.
📤 Instruções de Entrega (GitHub Desktop + Microsoft Teams)
- Faça o Commit: No GitHub Desktop, digite a mensagem (ex:
Finaliza Capítulo 03) e clique em Commit to main. - Envie para a Nuvem (Push): Clique em Push origin.
- No Microsoft Teams: Entregue o link do repositório na tarefa correspondente.
💡 Checkpoint de Lógica
Se você mudar o valor de hiperdrivePronto para true no arquivo TypeScript, o Angular automaticamente habilitará o botão na tela sem que você precise mexer no HTML! Essa é a magia do Data Binding.
🔥 Desafio de Fixação (Opcional)
Pesquise como usar o Property Binding para trocar a cor de fundo de uma div usando a propriedade [style.background-color].
🔑 Gabarito de Código/Fórmulas
Prática 1:
No .ts:
nivelEnergia: number = 85;No .html:
<p>Nível de Energia: {{ nivelEnergia }}%</p>Prática 2:
No .ts:
hiperdrivePronto: boolean = false;No .html:
<button [disabled]="!hiperdrivePronto">Saltar para o Hiperespaço</button>(Nota: O ! inverte o valor. Se está pronto (true), desabilitado fica false).