Глобальная конфигурация Angular Material Snackbar

Я следую руководству по Angular Material на github, чтобы установить пользовательскую глобальную конфигурацию для использования в модуле закусочной панели. Это руководство, за которым я следую.

Однако, как сказано в документации, нет экспорта MAT_SNACK_BAR_DEFAULT_OPTIONS только MAT_SNACK_BAR_DATA, но он не отменяет конфигурацию по умолчанию.

Вот что я пробовал:

import { MatSnackBarModule, MAT_SNACK_BAR_DATA } from '@angular/material/snack-bar';

providers: [
    { provide: MAT_SNACK_BAR_DATA, useValue: { duration: 2500 } }
]

Я тоже пробовал вот так:

{ provide: MatSnackBarConfig, useValue: { duration: 2500 } }
{ provide: MatSnackBarConfig, useClass: SnackClass }

Но ни один из вариантов не работает. Закуска никогда не удаляется автоматически по прошествии указанного времени.


person celsomtrindade    schedule 03.05.2018    source источник
comment
Какую версию Angular Material вы используете?   -  person Edric    schedule 07.05.2018
comment
@Edric версии 5.2.5   -  person celsomtrindade    schedule 07.05.2018
comment
MAT_SNACK_BAR_DEFAULT_OPTIONS был реализован с 6.0.0-beta.4   -  person Edric    schedule 07.05.2018


Ответы (1)


Я считаю, что вы здесь что-то напутали

Вы должны изменить продолжительность здесь:

@NgModule({
  providers: [
    {provide: MAT_SNACK_BAR_DEFAULT_OPTIONS, useValue: {duration: 2500}}
  ]
})

и вы должны вставить MAT_SNACK_BAR_DATA в свой конструктор:

import {MAT_SNACK_BAR_DATA} from '@angular/material';

constructor(@Inject(MAT_SNACK_BAR_DATA) public data: any) { }
person Raphael M.    schedule 03.05.2018
comment
Но для MAT_SNACK_BAR_DEFAULT_OPTIONS нет экспорта. Откуда мне его импортировать? - person celsomtrindade; 03.05.2018
comment
Вам нужно только импортировать это: import {MatSnackBarModule} из '@ angular / material / snack-bar'; см. документацию здесь: material.angular.io/components/snack-bar/api - person Raphael M.; 03.05.2018
comment
Это не обязательно для импорта MAT_SNACK_BAR_DATA в снэкбар, если только это не пользовательский компонент снекбара и если вы хотите предоставить какие-либо данные в пользовательский компонент снекбара. - person Edric; 07.05.2018