нет? И в зависимости от этого показывать Login или Logout?
<ng-container ngIf="condition; else template"></ng-container> <ng-template #template></ng-template>
у меня проблема с condition, я не знаю как его постоянно проверять, вроде токен есть, а состояние не меняется
Компонент: profile$ = this.authenticator.passport$ Шаблон: <ng-container *ngIf="!(profile$ | async).isAnon else anonymus"> <avatar [name]="(profile$ | async).name"></avatar> <a href="">Logout</a> </ng-container> <ng-template #anonymus> <a href="">Login</a> </ng-template> Если в аутентифкаторе изменится юзер (в сабжекте хранится) на анонимного, то либо токен протух, либо и не логинился, или наоборот залогинится — автоматом в шаблоне перезапишется, тк подписка | async отработает в шаблоне В шаблоне можно обернуть таким хаком из либы Taiga UI и код проще станет <ng-container *tuiLet="profile$ | async as profile"> <ng-container *ngIf="!profile.isAnon else anonymusTemplate"> <avatar [name]="profile.name"></avatar> <a href="">Logout</a> </ng-container> <ng-template #anonymusTemplate> <a href="">Login</a> </ng-template> </ng-container>
У меня 2 вопроса по коду: 1 зачем пайп async в проверке если впринципе с Observable и без него работает? 2 почему переменная с долларом в конце?
не понял первого вопроса 2. принятое соглашение именования потоков
Ну ты в проверке делаешь | async
потому что в шаблон передал стрим/поток
Без async работать не будет
Обсуждают сегодня