Я не могу передать параметры маршрута - PullRequest
0 голосов
/ 04 июля 2019

Я передаю параметр маршрута со страницы вызова со следующим кодом:

   showProfile(id: string) {
    const navigationParam: NavigationExtras = {
      queryParams: {
        userId: id
      }
    };
    console.log('navParm', navigationParam);
    this.router.navigateByUrl('view-profile', navigationParam);
   }

console.log показывает элемент навигации с данными.Однако журнал консоли на странице профиля просмотра не является

  constructor(private route: ActivatedRoute,
              private router: Router) {
    this.route.queryParams.subscribe(params => {
      console.log('params', params);
    });
  }

The console log on the view-profile page

Ответы [ 2 ]

2 голосов
/ 04 июля 2019

Для этого вы должны использовать функцию navigate, возникает проблема при передаче queryParams с navigateByUrl:

 this.router.navigate(['view-profile'], navigationParam);

На странице вашего профиля:

constructor( private route: ActivatedRoute,
             private router: Router ) {
    this.route.queryParams.subscribe(params => {
       console.log(params['userId']);
    });
  }
}
0 голосов
/ 04 июля 2019
**parent.ts**
import { Router } from '@angular/router';
constructor( public router: Router, )    

this.router.navigate(['/view-profile', { id: your params variable}]);

**view-profile.ts**

import { ActivatedRoute,  } from '@angular/router';
constructor(
   private route: ActivatedRoute,
 ) {

let data = this.route.snapshot.paramMap.get('id');
console.log(" data ", data);

}

...