Я использую ngx-загрузку в моем HTML, this.loading = true отлично работает с функцией sendMail (), но по какой-то причине после сообщения об успешном выполнении загрузчик не исчезает, как будто он не распознает это .loading = false. Буду признателен за любую помощь, так как я не понимаю, что здесь не так.
<div class="card-reinfort"> <ngx-loading [show]="loading" [config]="{ backdropBorderRadius: '3px' }"></ngx-loading></div>
И компонент:
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'ma-reinforcement',
templateUrl: './reinforcement.component.html'
})
export class ReinforcementComponent {
loading = false;
reinforcementList$: Observable<Array>;
@ViewChild(ReinforcementTableComponent, { static: false }) table:
ReinforcementTableComponent;
constructor(private readonly reinforcementService: ReinforcementService, private readonly
toastrService: ToastrService) {
this.reinforcementList$ = this.reinforcementService.getAll();
}
onSaveEvent(reinforcementItem: ReinforcementItem): void {
this.reinforcementList$ = this.reinforcementService.save(reinforcementItem);
}
sendMail(): void {
this.loading = true;
this.reinforcementService.sendMail('Export du renfort sur la ligne de caisse', 'Message')
.subscribe(result => {
this.loading = false;
this.toastrService.success('L\export a bien été envoyé', 'Success');
},
error => {
this.toastrService.error('L\'email n\'a pas été envoyé', 'Erreur');
}
);
}
}