Создать сервис с этим:
custom-snackbar.service.ts
@Injectable()
export class CustomSnackbarService {
constructor(
public snackBar: MatSnackBar,
private zone: NgZone
) {
}
public open(message, action = 'success', duration = 4000) {
this.zone.run(() => {
this.snackBar.open(message, action, { duration });
}
}
}
Также его нужно запустить в ngZone: https://github.com/angular/material2/issues/9875
Тогда в error-service.ts
:
public handleError (error: HttpErrorResponse | any) {
customSnackbarService.open(error, 'error')
return throwError(error);
}