想象一下,你有一个包含数组对象的可观察对象 并使用RxJS interop方法将其映射到信号 toSignal() .
toSignal()
data$: Observable<MyData[]> = this.dataService.getData(); dataSignal = toSignal<MyData[]>(this.data$, { initialValue: [] as MyData[]) });
这个szenario在上有一些奇怪的对话错误 initialValue 选项属性。
initialValue
是否可以将其转换为的信号 MyData[] 没有类型 signal<MyData[] | undefined> ?
MyData[]
signal<MyData[] | undefined>
以下是StackBlitz: https://stackblitz.com/edit/angular-fzwsff?file=src%2Fharry-potter-characters%2Fharry-potter-characters.component.html
您可以让推理完成其工作,以匹配正确的函数重载 此外,为了使其发挥作用,您必须明确
toSignal(this.data$, { initialValue: [] as HarryPotterData[], });
或者您也可以指定泛型:
data = toSignal<HarryPotterData[], HarryPotterData[]>(this.data$, { initialValue: [] as HarryPotterData[], });