How to access static data added for particular route in angular 2/4 in service?

Viewed 2037
const routes: Routes = [
    {
        path: 'somepath',
        component: SomeComponent,
        data: {
            showSidebar: true,
            title: 'test'
        }
    },
    {
        path: 'somepath2',
        component: SomeComponent2,
        data: {
            showSidebar: false,
            title: 'test2'
        }
    }
];

How can I access data object from currently activates route? If my current route is localhost:4200/app/somepath2 then I want to access data: { showSidebar: false, title: 'test2' }

1 Answers

You could use this.route.snapshot.data

Inject router in the constructor

import { ActivatedRoute } from '@angular/router';

constructor(private route:ActivatedRoute)

ngOnInit() {
    const myData = this.route.snapshot.data;
}
Related