i have route defined /abc/:id/xyz
where abc/:id resolves componenta , /xyz child component displayed in router-outlet (componentb)
when navigating /abc/:id/xyz, when this.route.params.subscribe(...) (where route activatedroute) in componenta see :id. when doing same thing in componentb not see :id. guessing activatedroute using url segments.
is there anyway parameters in route?
untested, according savkin's blog, put following child parent component's router parameters:
constructor(activatedroute: activatedroute, router: router) { const parentactivatedroute = router.routerstate.parent(activatedroute); this.id = parentactivatedroute.params.map(routeparams => routeparams.id); }
comparing code in router guide, need use asyncpipe id
in template, or can use subscribe()
... or can use snapshot
if sure id value won't change:
this.id = parentactivatedroute.snapshot.params['id'];
@chris mentions in comment below: this.router.routerstate.pathfromroot(this.route)
return array of activated routes down current route. can parameters of of activated routes.
update: routerstate.pathfromroot(someroute)
marked deprecated in master. in rc.5, use activatedroute.pathfromroot()
.
Comments
Post a Comment