Недавно я пытался следовать онлайн-руководствам для Angular и ASP. NET Core. На одном конкретном модуле c потребовалось удаление данных. Я уже тестировал свой API с помощью Postman, и он отлично работал. Основная проблема заключалась в том, что после запроса Alertify нажатие кнопки Cancel
или Ok
ни к чему не приводит.
Вот код, который я использовал:
photo-editor.component.ts
deletePhoto(id: number) {
console.log('inside function: ' + id);
this.alertify.confirm('Are you sure you want to delete this photo?', () => {
console.log('inside photo');
this.userService.deletePhoto(this.authService.decodedToken.nameid, id). subscribe(() => {
console.log('Inside delete photo');
this.photos.splice(this.photos.findIndex(p => p.id === id), 1);
console.log('After splice');
this.alertify.success('Photo has been deleted');
});
});
}
photo-editor.component.html
<button type="button" class="btn btn-sm btn-danger" (click)="deletePhoto(photo.id)" [disabled]="photo.isMain"><i class="fa fa-trash-o"></i></button>
Вот результат до при нажатии кнопки Ok
:
Here's the output after clicking the Ok
button:
введите описание изображения здесь
Я также пробовал добавить e
внутри стрелочной функции, однако это приводит к ошибке: ERROR in src/app/members/photo-editor/photo-editor.component.ts(77,74): error TS2345: Argument of type '(e: any) => void' is not assignable to parameter of type '() => any'.
Учитывая эту информацию, что может быть причиной того, что операторы внутри стрелочной функции не выполняются?
PS: версия alerttify, установленная через NPM, - 1.13.1, а я использую Angular 8.