Skip to content

Commit 034d1c7

Browse files
committed
docs(pt): translate challenge 43
1 parent 7dd2154 commit 034d1c7

File tree

1 file changed

+52
-0
lines changed

1 file changed

+52
-0
lines changed
Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,52 @@
1+
---
2+
title: 🟢 Signal Input
3+
description: Desafio 43 é sobre como usar signal inputs
4+
author: thomas-laforge
5+
challengeNumber: 43
6+
command: angular-signal-input
7+
sidebar:
8+
order: 16
9+
badge: New
10+
---
11+
12+
## Informação
13+
14+
Finalmente, o dia chegou quando o time Angular introduziu um input reativo. Essa funcionalidade bastante requisitada é esperada há anos. A versão 17.1 introduz `SignalInput`. Ao invés de utilizar o velho conhecido decorador `@Input`, agora você tem uma função que retorna um signal.
15+
16+
```ts
17+
// jeito antigo
18+
@Input() age?: number;
19+
20+
// novo jeito
21+
age = input<number>()
22+
```
23+
24+
Se você quiser inputs obrigatórios
25+
26+
```ts
27+
// jeito antigo
28+
@Input({required: true}) age!: number;
29+
30+
// novo jeito
31+
age = input.required<number>()
32+
```
33+
34+
Se você queria obter um signal de um input, você tinha que usar um setter para configurar seu signal a partir de um input.
35+
36+
```ts
37+
// jeito antigo
38+
age = signal(0)
39+
@Input({alias: 'age'}) set _age(age: number){
40+
this.age.set(age)
41+
};
42+
43+
// novo jeito
44+
age = input<number>()
45+
```
46+
47+
## Declaração
48+
49+
Nesta pequena aplicação, o objetivo é refatorar o `UserComponent` para utilizar `SignalInput`.
50+
51+
- Você tem inputs obrigatórios e opcionais.
52+
- Você pode usar a função `transform` para o input `age` e converter a propriedade diretamente para um número.

0 commit comments

Comments
 (0)