В настоящее время я следую официальному руководству по маршрутизации Angular.
В этом руководстве, когда мы передаем необязательные параметры из /hero-detail.component.ts в /hero-list.component.ts в виде кнопки «Назад», я не могу прочитать эти параметры в хуке ngOnInit
для списка героев. .component.ts.
gotoHeroes(hero: Hero) {
let heroId = hero ? hero.id : null;
// Pass along the hero id if available
// so that the HeroList component can select that hero.
// Include a junk 'foo' property for fun.
this.router.navigate(['/heroes', { id: heroId, foo: 'foo' }]);
}
ngOnInit() {
this.heroes$ = this.route.paramMap
.switchMap((params: ParamMap) => {
// (+) before `params.get()` turns the string into a number
this.selectedId = +params.get('id');
return this.service.getHeroes();
});
Я даже загрузил их официальный пример и попытался запустить его в своем локальном браузере. Я получаю значение 0 по умолчанию для идентификатора.
Любая идея, почему это так?
heroes$
? Или вызов каналаasync
, который вызывает это? Кажется, вы упускаете что-то, что действительно заставляет эту работу работать. Вы следовали руководству до конца? - person R. Richards   schedule 20.01.2018this.route.snapshot.paramMap.get('id');
- person Niladri   schedule 20.01.2018