Я искал другой вопрос, подобный этому, но 99% других вопросов касаются Наблюдаемой, которой я не являюсь.У меня есть код, который выглядит так:
selectedItems: Item[] = null;
selectedDate: Date = null;
submitItems() {
const itemObservables = this.selectedItems.map(item => {
item.date = this.selectedDate;
return this.itemService.putMovedItems(item)
});
return forkJoin(itemObservables);
}
В VSCode нет ошибок линтера;это должен быть действительный код.Тем не менее, во время выполнения я получаю «TypeError: selectedItems.map не является функцией».
Когда я отлаживаю, я замечаю, что this.selectedItems говорит:
Object {0: Item, 1: Item, 2: Item, ...}
Это заставило меня заподозрить, что когда свойство установлено, оно не устанавливается в качестве фактического массива.Итак, я попытался выполнить приведение, выполнив:
const items = <Array<Item>>this.selectedItems;
, а затем выполнил сопоставление на items
, но я получил ту же ошибку времени выполнения.Я не уверен, что здесь происходит.
Редактировать: Для ясности, selectedItems
устанавливается в ngOnInit ():
ngOnInit() {
const selectedItems = this.itemService.selectedItems.getValue();
this.selectedItems = {...selectedItems};
}
this.itemService.selectedItems
это BehaviorSubject<Item[]>
.