У меня есть массив, объявленный как carousels: any = []
в моем файле TS, но я продолжаю получать сообщение об ошибке «разрешены только массивы и итерации» всякий раз, когда я зацикливаюсь на нем с помощью * ngFor. Данные внутри этого массива получены из mLab.
Цель моего кода - обновить объект из mLab, используя его идентификатор, который, кажется, работает нормально. Но всякий раз, когда я нажимаю обновление, учитывая тот факт, что обновление даже работает, почему я все равно получаю ошибку?
Я пытался изменить carousels: any = []
на carousels = []
, но, похоже, ничего не изменилось.
Это мой код.
api.js (бэкэнд) - это код, который связывается с базой данных.
router.route('carousel/update/:_id).put(function(req, res) {
db.collection('home').updateOne({"_id": ObjectId(req.params._id)}, {$set: req.body}, (err, results) => {
if (err) throw err;
res.send(results)
console.log(req.params._id)
});
});
home.service.ts
return this.http.put<any[]>('./api/carousel/update/' + id, {'header': newheader, 'subheader': newsubheader})
}
component.ts
объявление:
carousels: any = [];
функция обновления:
updateSlide(id: number){
this.HomeService.updateSlide(id, this.header, this.subheader).subscribe(slides => {this.carousels = slides})
}
Обновление работает, но я все еще получаю сообщение об ошибке: ошибка при попытке изменить '[объект объекта]'. разрешены только массивы и итерации