我正在尝试从url中获取[param],并获取一些信息,以该param来提供服务,然后(仅此)转到另一个页面。
Chome网址:http://localhost:4200/login/asd
appmodule:
{ path: 'login/:token', component: AppComponent},
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令牌”发出。 网址有问题吗?
答案 0 :(得分:1)
还有另一个问题描述了您的问题。这与ActivatedRoute
之外的router-outlet
状态有关,在您的情况下,我认为您没有此状态。
我在stackbliz中进行了一个测试,可以看到它可以与router-outlet
一起工作,但是要做到这一点,我不得不将路由器路径更改为另一个组件(AppComponent
是根组件,所以我没有使用它。)
这是stackblitz示例:
https://stackblitz.com/edit/angular-izk361
有关此问题的更多信息。
Angular 2 Activatedroute params not working in Service or outside <router-outlet>