значение.Особенность в том, что визуально оно меняется только когда я начинаю взаимодействовать с этим компонентом(внутри стейт меняется сразу, все ок)
вы не подскажете, с чем это связано?
А стратегия у тебя OnPush?
не, дефолтная стоит, я не менял)
А код компонента можно посмотреть ?
Наверное мутируешь. Присваивай новый обьект
И скорее всего change detection на следующем тике перересовывает
constructor( private storeService: StoreService, private modalService: ModalService ) { this.userAccount$ = this.storeService.getUserAccount() .pipe(filter((value) => value !== null)); ----- public getUserAccount() { return this.userAccount$.asObservable(); } ничего необычного вроде
а там строка вроде просто, но я тоже думаю об этом
<div *ngIf="userAccount$ | async as userAccount" > <div> Connected wallet: <span [matMenuTriggerFor]="menu" >{{ userAccount | slice: 0:5 }}...{{ userAccount | slice: 38:42 }}</span > <mat-menu #menu="matMenu" class="header-menu"> <div > Connected wallet </div> <div > {{ userAccount }} </div> <a href="#" class="default-link">View on etherscan ↗</a> <div class="logout" (click)="disconnectWallet()">Log out</div> </mat-menu> </div> </div>
я через Behavior Subject делал, типа когда обновляю значение - вкидываю next() а геттер - behaviorSub.asObservable() с ними тоже могут быть проблемы с мутациями?
Та не. Через асинк CD автоматом дернет
ГетЮзерАккаунт лишний. У вас в переменной уже обсервабле после пайпа
Выше по коду нет ифов?
есть, там кнопка подключения идет, если ее нажать, то состояния меняется и показывается <ng-template> внутри которого и есть этот код)
<button *ngIf="!(isWalletConnected$ | async); else connected" class="main-button main-button--purple-gradient" (click)="walletConnect()" > Connect a wallet </button>
была подобная проблема. уже и не помню. tapни обсервабле...резолвится он?
и не резолвится ли до прорисовки темплейта
если я правильно понял, то так он и делает типа я меняю состояния, обсервабл отдает значение, но в шаблоне остается старое, если я нажимаю на менюшку эту - оно обновляется
попробуй расшарить обсервабл shareReplay
Обсуждают сегодня