Как скрыть логин и зарегистрировать ссылку на другие страницы в Angular - PullRequest
0 голосов
/ 23 сентября 2019

В App.component.ts я перенаправил ссылку роутера на дом, где я хочу скрыть ссылку входа и регистрации.Я знаю, что многие люди ответят authGuard, я новичок в angular.Просто хочу узнать, как скрыть какую-либо ссылку или функцию на разных страницах на базе маршрутизатора. Я думаю, что я могу сделать это в ngIf и ссылке на маршрутизатор, но куда писать.Поток после нажатия на логин или зарегистрироваться хотите скрыть ссылку Кто-нибудь может помочь?

    <a [routerLink]="['/login']"  class="btn btn-link">Login</a>
<a [routerLink]="['/registration']"  class="btn btn-link">Register</a>
    <router-outlet></router-outlet>

1 Ответ

0 голосов
/ 23 сентября 2019

Вам необходим флаг входа в общую службу.

Создание службы. Вызов LoggedIn

@Injectable({
  providedIn: 'root'
})
export class LoggedInService {
  loggedIn$ = new BehaviorSubject(false);
}

Внедрение службы, в которую вы входите, и вызов следующего в BehaviorSubject при входе в систему.

this.loggedInService.loggedIn$.next(true);

и на компоненте с меню используйте его, чтобы скрыть кнопку входа

loggedIn$ = this.loggedInService.loggedIn$;

и в шаблоне

<a [routerLink]="['/login']"  class="btn btn-link" *ngIf="loggedIn$ | async">Login</a>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...