#ios #angular #safari #angular-material
#iOS #angular #safari #angular-материал
Вопрос:
Я использую angular material sidenav, и вместе с ним появляются некоторые точки останова на максимальной ширине устройства.
вот примеры
Это выглядит так:
public mobileQuery: MediaQueryList;
private _mobileQueryListener: () => void;
constructor(changeDetectorRef: ChangeDetectorRef, media: MediaMatcher){
this.mobileQuery = media.matchMedia('(max-width: 992px)');
this._mobileQueryListener = () => changeDetectorRef.detectChanges();
this.mobileQuery.addEventListener('change', this._mobileQueryListener);
}
ngOnDestroy(): void {
this.mobileQuery.removeEventListener('change', this._mobileQueryListener);
}
В Safari я получаю эту ошибку :
this.mobileQuery.addEventListener не является функцией
То же самое относится и к this.mobileQuery.removeEventListener.
Как это исправить?
Ответ №1:
Попробуйте с этим
this.mobileQuery.addListener(this._mobileQueryListener);
и
this.mobileQuery.removeListener(this._mobileQueryListener);