当使用Angular 信号输入时,如果我想指定所需的输入数组
import { input } from '@angular/core';
values = input.required<number[]>([]);
我收到构建错误(StackBlitz)
TS2559:类型“never[]”与类型“InputOptionsWithoutTransform<number[]>”没有共同的属性。[插件 angular-compiler]
指定默认值的正确方法是什么?
当使用Angular 信号输入时,如果我想指定所需的输入数组
import { input } from '@angular/core';
values = input.required<number[]>([]);
我收到构建错误(StackBlitz)
TS2559:类型“never[]”与类型“InputOptionsWithoutTransform<number[]>”没有共同的属性。[插件 angular-compiler]
指定默认值的正确方法是什么?
当
input
设置信号时required
,这意味着该值肯定会存在,否则 angular 编译器会抛出错误,应用程序将无法启动。所以不需要设置默认值。Stackblitz 演示错误
您收到错误的原因是因为它需要
transform
您提供的属性[]
,它应该是这样的:transform
-> 在发送到组件之前转换输入。alias
-> 可用于将数据传递给组件的另一个名称。要使用这两个属性,请确保将输入信号的类型设置为
input.required<number[], number[]>({ ... })
。Stackblitz 演示