Ao usar entradas de sinal angulares, se eu quiser especificar uma matriz de entrada necessária
import { input } from '@angular/core';
values = input.required<number[]>([]);
Recebo o erro de compilação ( StackBlitz )
TS2559: O tipo 'never[]' não tem propriedades em comum com o tipo 'InputOptionsWithoutTransform<number[]>'. [plugin angular-compiler]
Qual é a maneira correta de especificar um valor padrão?
Quando um
input
sinal é definido comorequired
isso significa que o valor certamente estará presente, caso contrário, o compilador angular lançará um erro e o aplicativo não iniciará. Então não há necessidade de definir um valor padrão.Stackblitz Demonstrando o erro
O motivo do erro é que ele está esperando a
transform
propriedade, onde você forneceu[]
, que deveria ser assim:transform
-> transformar a entrada antes de enviar para o componente.alias
-> outro nome que pode ser usado para passar os dados para o componente.Para usar essas duas propriedades, certifique-se de definir o tipo do sinal de entrada como
input.required<number[], number[]>({ ... })
.Demonstração do Stackblitz