не появляется.
Angular 11
В чем причина?
Что ещё есть в div ,?
<div class="headerMobile" [class.headerMobile_show]="isHamburgerMenuOpen2" [ngSwitch]="currentChooseMobileList">
а как поняли, что значение меняется?
в класе вывожу его значение через console.log после каждого изменения
Попробуйте в шаблоне в другом месте сделать (в любом, где будет видно <div> {{ isHamburgerMenuOpen2 | json }}</div> похоже, что она у вас в шаблоне не меняется
а меняется через что? похоже что шаблон не подхватывает изменения.
через Observable
Покажите саму переменную - возможно её просто нужно через async в шаблоне применить
у меня воттак ngOnInit() { StateManagerService.isHamburgerMenuOpenSubject.subscribe((isHamburgerMenuOpen) => { console.log('===== isHamburgerMenuOpen ====='); console.log(isHamburgerMenuOpen); this.isHamburgerMenuOpen2 = isHamburgerMenuOpen; console.log('this.isHamburgerMenuOpen2'); console.log(this.isHamburgerMenuOpen2); }); } но через async тоже попробую. Спасибо за идею
Это стор ngrx? Если так, то нужно сделать селектор, присвоить его вызов в обсервабл переменную и потом асинк-пайпом подписаться прямо в темплейте
да.. Похоже что так. попробовал разными способами. везде одно и тоже. В контроллере - меняется , в шаблоне - нет. Может проблема в том как этот компонет подключается?
а как он подключается?
вроде все нормально. этоткомпонент в секции import export модуля, а потом модуль в импорт другого...
похоже что это происходит если для перехода использовать this.location.back();
Да, заменил this.location.back() на this.router.navigateByUrl() и проблема пропала. Странно, конечно, но факт.
Так а что странного, если руками лезть туда где работает уже фреймворк можно всякого ожидать
где тут "руками" ?
this.location За всю навигацию ангуляр со своим роутингом отвечает
import {Location} from '@angular/common'; private location: Location,
Обсуждают сегодня