分享
三行代码  ›  专栏  ›  技术社区  ›  Frank

ActivatedRoute.snapshot.paramMap不工作

  •  1
  • Frank  · 技术社区  · 3 天前

    应用组件

      import { ActivatedRoute } from '@angular/router';
      ...
    
      constructor(
        private activatedroute: ActivatedRoute
      ) {}
    
      ngOnInit() {
        console.log(this.activatedroute.snapshot.paramMap.get('token'));
    
        this.activatedroute.paramMap.subscribe( paramMap => {
          console.log(paramMap.get('token'));
        });
      }
    

    app.module.ts(不仅仅包括这个)

    import { Routes, RouterModule } from '@angular/router';
    
    const routes: Routes = [
      { path: ':token', component: HelloComponent },
    ];
    
    @NgModule({
      imports: [RouterModule.forRoot(routes)],
      exports: [RouterModule]
    })
    

    然后我提供我的应用程序并转到:

    http://localhost:4200/123

    null null . 为什么这不起作用?我觉得一切都对了。下面是一个角度闪电战: https://stackblitz.com/edit/angular-wnrrkd

    1 回复  |  直到 3 天前
        1
  •  1
  •   Naren Murali    3 天前

    你已经把代码写进去了 app.component.ts 它是根组件,但是 :token app.component.html 您需要有路由器出口,它将显示子组件,只有这样令牌才会可见,请参考下面的例子。

    Stackblitz example