[Fixed] How to get Route data into App Component in Angular 2


I have defined some route data in my app routing module like below:

    const appRoutes:Routes = [
  {path: '', component: LoginComponent, data:[{PageName:"Login Page"}]}]

I want to get the data globally so that I can use appRoutes in app.component.ts to get the URL redirection related information as below:

export class AppComponent {
  title = 'Welcome';
  constructor(public router: Router, public authenticationService: AuthenticationService) {
    this.router.events.subscribe(event => {
        console.log("Page Name", router[PageName]); //Not working

I tried injecting ActivatedRoute but it’s not getting updated after each redirection.

Is there anyway, where I can configure page name and get it in global app.component.ts.


Try to filter and loop your events instead of subscribe

constructor(router:Router, route:ActivatedRoute) {
      .filter(e => e instanceof NavigationEnd)
      .forEach(e => {
        this.title = route.root.firstChild.snapshot.data['PageName'];

Please check the following working demo: https://plnkr.co/edit/rBToHRaukDlrSKcLGavh?p=info

Leave a Reply

(*) Required, Your email will not be published