Я получаю следующую ошибку только в Firefox. Не в Chrome или IE.Угловая ошибка изменения обнаружения: выражение было изменено после его проверки. Предыдущее значение: 'over'. Текущее значение: 'side'
"Error: Error in ./DefaultLayoutComponent class DefaultLayoutComponent - inline template:2:14 caused by: Expression has changed after it was checked. Previous value: 'over'. Current value: 'side'.”.
Это сиденватый дизайн из материала, который бросает это.
Вот строка 2 шаблона HTML DefaultLayoutComponent:
<md-sidenav (mouseover)="toggleHover(true)" (mouseout)="toggleHover(false)" (close)="sidenavToggle(false)" (open)="sidenavToggle(true)" [mode]="(_navigation.mediumScreenAndDown && sidenavStyle !== 'off') ? 'over':sidenavMode" [ngClass]="{'icon-sidenav': ((sidenavStyle === 'icon' || sidenavStyle === 'icon overlay') && _navigation.largeScreen), 'over': (sidenavStyle === 'icon overlay')}">
Вот метод в машинописи DefaultLayoutComponent, который вызывается для определения sidenavStyle
public get sidenavMode(): string {
if(this.sidenavStyle === 'icon overlay' && this.isHovering) {
return 'over';
} else if(this.sidenavStyle === 'icon' || this.sidenavStyle === 'icon overlay') {
return 'side';
} else if(this.sidenavStyle === 'hidden') {
return 'over';
} else if(this.sidenavStyle === 'off') {
return 'over';
}
return this.sidenavStyle;
}
я определил, что это обнаружение изменений проблема, и я нашел этот stackoverflow Angular 2 - Expression has changed after it was checked, где Гюнтер предлагает использовать ngOnChanges и затем обнаруживать эти изменения, но я все еще бросаю ошибку.
ngOnChanges() {
this.sidenavMode; //method where I am determining sidenav style
this.changeDetectorRef.detectChanges();
}
Я пробовал это, но я все еще бросаю ошибку. Любая помощь очень ценится.
Не пытаться никому злоупотреблять Арьян. Мне жаль, что мои котировки беспокоили вас, но они были частью моего html. Думаю, у вас возникла проблема со ссылкой на мое сообщение об ошибке. Я постараюсь больше помнить об этом в будущем. Надеюсь, у вас хорошая неделя. –
Теперь я вижу, что вы говорите о Аржане. Благодарю. –