представьте, что у вас есть наблюдаемая, которая содержит объект массива
и сопоставляет его с сигналом с помощью метода взаимодействия 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.comComponent.html
Что-то я в нем поменял. Надеюсь, теперь это работает.
Вы можете позволить выводу выполнить свою работу, чтобы соответствовать правильной перегрузке функции. Также, чтобы это работало, вам придется явно
toSignal(this.data$, {
initialValue: [] as HarryPotterData[],
});
или вы также можете указать дженерики:
data = toSignal<HarryPotterData[], HarryPotterData[]>(this.data$, {
initialValue: [] as HarryPotterData[],
});
Ваш stackblitz не запускается, файл отсутствует