параметр?
Сделал так:
const arr = this.router.url.split('/');
arr.pop();
const url = arr.join('/');
this.router.navigateByUrl(url + '/21').then();
Есть ли способ проще? Спасибо
gotoHeroes(hero: Hero) { const 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' }]); }
а такое прокатит, если параметр в середине? home/user/:id/other-page
Сделал так: this.router.navigate(['home/user', { id: 21 }]); Получаю путь home/user;id=21. Но путь должен быть home/user/21 - или я что-то пропустил?
Штука конечно странная, с чего бы это ни с того ни с сего решило накинуть ';' лишнее
Там и в примере так написано «localhost:4200/heroes;id=15;foo=foo»
Не вижу такого
пробуй без объекта this.router.navigate(['home/user', 21]);
Да. Так работает. Какая тогда разница с navigateByUrl?
Тебе не надо делать странные манипуляции с url?
Если роут измениться нужно будет по компонентам тоже вносить изменения. Правильно?
Почему странные this.router.navigateByUrl(‘home/user’ + '/21')
потому что поменяй ты позицию :id и нужно переписать
Здесь тоже можно через переменную напр. this.router.navigateByUrl(‘home/user/’ + idValue)
> потому что поменяй ты позицию :id и нужно переписать
Спасибо! Все - понял!
лучше используйте navigate и массив из строк
Обсуждают сегодня