Да, используйте сервис для обработки вашей закусочной, тогда вы можете сделать метод, подобный следующему:
export class SnackbarService {
constructor(private _snackBar: MatSnackBar) {}
public openSnackBarFromComponent(snackbarProps: ISnackbarComponent): void {
this._snackBar.openFromComponent(SnackbarComponent, {
panelClass: snackbarProps.config.panelClass || [''],
duration: snackbarProps.config.duration || 2000,
horizontalPosition: snackbarProps.config.horizontalPosition || 'center',
verticalPosition: snackbarProps.config.verticalPosition || 'bottom',
data: snackbarProps.config.data || {},
});
}
}
Итак, я создал сервис с методом, который можно вызывать из любого места, откройте компонент с именемSnackbarComponent с определенной конфигурацией. В вашем PanelClass вы можете добавить определенный класс с определенным фоном.
Я вызываю метод из SnackbarService так с моей настраиваемой конфигурацией закусочной:
this.SnackbarService.openSnackBarFromComponent({
config: {
panelClass: ['Your customClass'],
data: {
message: 'your msg',
iconClass: 'check-circle',
colorIcon: 'fg_green',
},
},
}),
Это способ, но, конечно, есть много способов сделать это, и, возможно, лучше, чем этот:)