Я хочу добавить Material Snackbar в мое приложение в качестве сервиса.
Итак, в своем уведомлении.service.ts я добавил:
import { Component, Input, Output, EventEmitter } from '@angular/core';
import { Injectable } from '@angular/core';
import { Subject } from 'rxjs';
@Injectable()
export class NotificationService {
snackbar_notification: Subject<string> = new Subject();
constructor() {}
setSnackbarNotification(message: string) {
this.snackbar_notification.next(message);
}
}
В моем app.component.ts:
export class AppComponent implements OnInit {
constructor(
private notificationService: NotificationService,
public snackBar: MatSnackBar
) {
this.notificationService.snackbar_notification.subscribe(message => {
this.snackBar.open(message);
});
}
}
Я запускаю снэк-бар из компонента, подобного:
this.notificationService.setSnackbarNotification('this is a notification');
Код работал нормально, прежде чем я внес вышеуказанные изменения в 3 файла.
Теперь выдает ошибку при выполнении:
Error: StaticInjectorError(Xs)[e -> e]:
StaticInjectorError(Platform: core)[e -> e]:
NullInjectorError: No provider for e!
Как я могу решить эту проблему?