Routeparams In Appcomponent
I'm trying to make a simple one component app for testing out Angular2, but I am very stuck on accessing the RouteParams in my app component. This is what I have so far: @Component
Solution 1:
This might do what you want
constructor(private router:Router, private routeSerializer:RouterUrlSerializer, private location:Location) {
router.changes.first().subscribe(() => {
let urlTree = this.routeSerializer.parse(location.path());
console.log('serializer', urlTree.children(urlTree.root)[0].segment);
// or to get the next segment of the path:// console.log('serializer', urlTree.children(urlTree.children(urlTree.root)[0])[0].segment);
});
}
Solution 2:
Here is how to RouteConfig for a route parameters
{path: '/hero/:id', name: 'HeroDetail', component: HeroDetailComponent},
Here is a code from configured app that has routes and route parameters
@Component({
selector: 'my-app',
template: `
<h1 class="title">Component Router</h1>
<a [routerLink]="['CrisisCenter']">Crisis Center</a>
<a [routerLink]="['Heroes']">Heroes</a>
<router-outlet></router-outlet>
`,
directives: [ROUTER_DIRECTIVES]
})
@RouteConfig([
{ // Crisis Center child routepath: '/crisis-center/...',
name: 'CrisisCenter',
component: CrisisCenterComponent,
useAsDefault: true
},
{path: '/heroes', name: 'Heroes', component: HeroListComponent},
{path: '/hero/:id', name: 'HeroDetail', component: HeroDetailComponent},
{path: '/disaster', name: 'Asteroid', redirectTo: ['CrisisCenter', 'CrisisDetail', {id:3}]}
])
export class AppComponent {
constructor(private router: Router) {
this.setUpEvents();
}
privatesetUpEvents(): void {
this.router.subscribe((value: any) => this.onNext(value));
}
privateonNext(value: any): void {
//uncomment to get the stacktrace//throw new Exception(""); console.log(value);
}
}
In the full view you can see how the route and routeparams change displaying new content: click here
Post a Comment for "Routeparams In Appcomponent"