0

I want to subscribe to my praramID when page load but I try console.log() it's returning null. I am using Angular 7.

This is my typescript:

    import { Component, OnInit } from '@angular/core';
    import { ActivatedRoute } from "@angular/router";
    @Component({
     selector: 'c:navbar',
     templateUrl: './navbar.component.html',
     styleUrls: ['./navbar.component.scss']
    })
    export class NavbarComponent implements OnInit {
     selectedItem: string;
     selectedFlag: string;
     paramsId: any;
    constructor(private _ActivateRoute: ActivatedRoute) { }

    ngOnInit() {
    this._ActivateRoute.paramMap.subscribe(params => {
    this.paramsId = params.get("activeLang");
    console.log('Get Param',this.paramsId);
    });
   }

This my route:

   import { NgModule } from '@angular/core';
   import { Routes, RouterModule } from '@angular/router';
   import { HomePagesComponent } from './pages/home-pages/home- 
    pages.component';
   import { PersonalPagesComponent } from './pages/personal- 
    pages/personal-pages.component';


   const routes: Routes = [
  {path: '', redirectTo: 'en/home', pathMatch: 'full'},
  {path: ':activeLang/home', component: HomePagesComponent},
  {path: ':activeLang/personal', component: PersonalPagesComponent},
  {path: ':activeLang/business', component: BusinessPagesComponent},
   ];

   @NgModule({
   imports: [RouterModule.forRoot(routes, {scrollPositionRestoration: 
             'enabled'})],
   exports: [RouterModule]
   })
   export class AppRoutingModule { }

I am not sure my code is correct but it's returning null when I try console.log() Can you guys please help me figure it out.

It should be return en in console.

norbitrial
  • 14,716
  • 7
  • 32
  • 59
Adam
  • 351
  • 1
  • 4
  • 15

1 Answers1

0

I think you should try the following:

this.paramsId = this._ActivateRoute.snapshot.paramMap.get("activeLang");
console.log(this.paramsId);
Sunny Parekh
  • 945
  • 7
  • 17