Наблюдаемый в обслуживании против использования только этого. Служба Angular 7 - PullRequest
1 голос
/ 05 июля 2019

Я видел authServices, где есть логический или пользовательский объект и другой компонент с навигацией, которая отображает различные кнопки в зависимости от состояния журнала.

Таким образом, сервис внедряется в компонент, а наблюдаемый создается в authService, чтобы компонент мог подписаться на логическое значение. У меня вопрос, почему использовать наблюдаемый, а не просто использовать уже внедренный экземпляр службы:

<nav>
    <ul *ngIf="!this.authService.isAuth">
        <li><a routerLink="/home">Home</a></li>
        <li><a routerLink="/login">Login</a></li>
    </ul>
</nav>

от уже введенной услуги:

constructor(private authService: AuthService) {
}

Я видел примеры, когда компонент подписывался на наблюдаемое в сервисе аутентификации, поэтому это было бы похоже на:

isAuth: Observable<boolean> //in the authService
this.authService.isAuth.subscribe(x => this.isAuth= x)

Зачем использовать наблюдаемый, когда вы можете сделать это первым способом?

1 Ответ

0 голосов
/ 05 июля 2019

Здесь хорошо (лучшая практика) использовать BehaviorSubject без подписки на него в компоненте

HTML

<ul *ngIf="!(isAuth | async)">

component.ts

isAuth: Observable<boolean> = this.authService.isAuth;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...