🟢 Signal Input
Desafio #43
Informação
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.
// jeito antigo@Input() age?: number;
// novo jeitoage = input<number>()
Se você quiser inputs obrigatórios
// jeito antigo@Input({required: true}) age!: number;
// novo jeitoage = input.required<number>()
Se você queria obter um signal de um input, você tinha que usar um setter para configurar seu signal a partir de um input.
// jeito antigoage = signal(0)@Input({alias: 'age'}) set _age(age: number){ this.age.set(age)};
// novo jeitoage = input<number>()
Declaração
Nesta pequena aplicação, o objetivo é refatorar o UserComponent
para utilizar SignalInput
.
- Você tem inputs obrigatórios e opcionais.
- Você pode usar a função
transform
para o inputage
e converter a propriedade diretamente para um número.