首页 > 解决方案 > 无法获得参数路线角度6

问题描述

我正在尝试从 url 获取 [param],并获取一些信息,使用此参数抛出服务,然后(仅在那时)转到另一个页面。

Chome URL:http://localhost:4200/login/asd

应用模块:

{ path: 'login/:token', component: AppComponent},

应用组件.ts

ngOnInit() {

this.sub = this.route.params.subscribe(params => {
  this.usr = params['token']; 
  console.log(this.usr); //THIS KEEP GETTING UNDEFINED

});
}

那个 usr 一直未定义,不知道为什么......有些想法?谢谢。

我尝试过这样的事情:

this.sub = this.route.params.subscribe(params => {
  if (!params['token']) { 
    console.log('NO token'); //GOES HERE EVERYTIME
     }
  this.token = params['token'];
  console.log(this.token);
});

它每次都以“NO token”的形式出现.. url 可能有问题吗?

标签: angulartypescript

解决方案


打开了另一个问题来描述您的问题。这与ActivatedRoutea 之外的状态有关router-outlet,在您的情况下,我相信您没有它。

我在 stackbliz 中进行了测试,您可以看到它router-outletAppComponent.

这是堆栈闪电战示例:

https://stackblitz.com/edit/angular-izk361

这里有更多关于这个问题的信息。

Angular 2 Activatedroute 参数在服务中或 <router-outlet> 之外不起作用


推荐阅读