从角度信号中删除未定义的结果

问题描述 投票:0回答:1

假设您有一个可观察对象,其中包含一个数组对象
并使用 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

angular signals angular-signals
1个回答
0
投票

您可以让推理完成其工作以匹配正确的函数重载 此外,为了使其发挥作用,您必须明确

toSignal(this.data$, {
    initialValue: [] as HarryPotterData[],
  });

或者您也可以指定泛型:

  data = toSignal<HarryPotterData[], HarryPotterData[]>(this.data$, {
    initialValue: [] as HarryPotterData[],
  });
© www.soinside.com 2019 - 2024. All rights reserved.