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