Как направить на страницу на основе ответа Angular 6 - PullRequest
0 голосов
/ 27 июня 2018

У меня есть две страницы в моем пользовательском интерфейсе, и я хочу перенаправить ПОЛЬЗОВАТЕЛЯ на основе ответа HTTP. Код PFB.

 {
      "routerName": this.routerName,
      "serviceId" : this.serviceId,
      "serviceType" : ILL
}

Теперь мой тип обслуживания ILL, затем я хочу перенаправить страницу на страницу ILL, а когда типом значения является GVPN, я хочу перенаправить его на страницу GVPN. PFB routerModule

RouterModule.forRoot([
      { path: 'ill' , component: IpIllComponent }, // Want to go to this page when service type is ILL
      { path: 'gvpn' , component: IpGvpnComponent } // Want to go to this page when service type is GVPN
    ])

Пожалуйста, помогите мне в этом.

Ответы [ 4 ]

0 голосов
/ 27 июня 2018
constructor(private router: Router) {}

this.router.navigate(['/gvpn']); 

Пожалуйста, следуйте этой угловой документации. Вы найдете все ваши проблемы, связанные с угловой маршрутизацией.

угловая маршрутизация

0 голосов
/ 27 июня 2018
constructor(private router: Router, private http: HttpClient) {}

RouteByServiceResponse() {
    this.http.get(<url>).subscribe(response => 
        if ( response.serviceType === 'ILL' ) 
        {
            this.router.navigateByUrl('/ill');
        } else if ( response.serviceType === 'GVPN' ) {
            this.router.navigateByUrl('/gvpn');
        }
    });
}
0 голосов
/ 27 июня 2018

Во время выполнения вы можете проверить тип службы, а затем использовать router.navigate для перехода на нужную страницу.

if (serviceType === 'ILL')
  this.router.navigate(['/ill'])
else
  this.router.navigate(['/gvpn']);
0 голосов
/ 27 июня 2018

Вам нужно внедрить роутер в вашем классе, а затем использовать его для навигации:

constructor(private router: Router) {}

const path = response.serviceType === 'ILL'? 'ill' : 'gvpn';
this.router.navigate([path]) 

См. Документы: https://angular.io/guide/router

...