Как перенаправить пользователя на разные URL на основе подтвержденных или не подтвержденных - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу отображать имя пользователя в URL-ссылке, когда пользователь подтвержден, в противном случае я хочу отображать только идентификатор пользователя

У меня есть эти маршруты в модуле маршрутизации. {<br> path: 'user-survey/:user_id/:user_name', canActivate : [AuthWebGuard], component: SurveyComponent }, { path: 'favorite-world-survey', canActivate : [AuthWebGuard], component: SurveyComponent },

это моя HTML-страница, на которой я хочу сделать условие для перенаправления пользователя

<span *ngIf="!isUserSurveyList; else other_content"> <a *ngIf="!(this.commonService.authUser()==survey.user_id.email)" routerLink="/user-survey/{{survey.user_id._id}}/{{survey.user_id.name}}" class="a_link"> <p> {{ survey.user_id.name }} <i class="fa fa-check" aria-hidden="true" style="color: green; font-size: 30px;" *ngIf="survey.user_id.verifystatus"></i> </p> </a> <a *ngIf="(this.commonService.authUser()==survey.user_id.email)" routerLink="/profile" class="a_link"> <p> {{ survey.user_id.name }} <i class="fa fa-check" aria-hidden="true" style=" color: green; font-size: 30px;" *ngIf="survey.user_id.verifystatus"></i> </p> </a> </span>

http://Address:4200/#/user-survey/5a7d5f351d3a5d4eb21feb02?type=1

Возможно ли это?

Ваша помощь будет высоко оценена.

1 Ответ

0 голосов
/ 01 апреля 2019

Установите конфигурацию маршрута как

{  
    path: 'user-survey/:user_id/:user_name',
    canActivate : [AuthWebGuard],
    component: SurveyComponent
}

Отправьте имя пользователя вместе с идентификатором пользователя в routerLink

[routerLink]="['/user-survey', survey.user_id.id, theUserName]"

В компоненте извлеките имя пользователя так же, как вы извлекали user_id

Например:

ngOnInit(){
    this.route.params.subscribe( params =>
        console.log(params['user_name']);
    )
}

Редактировать

Если ваш маршрут может и не может содержать имя пользователя, задайте две конфигурации маршрута, однус параметром имени пользователя, один без него.

[
    {  
        path: 'user-survey/:user_id/:user_name',
        canActivate : [AuthWebGuard],
        component: SurveyComponent
    }

    {  
        path: 'user-survey/:user_id',
        canActivate : [AuthWebGuard],
        component: SurveyComponent
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...