ActivatedRoute.snapshot.paramMap 不工作
ActivatedRoute.snapshot.paramMap not working
我试图在 startup/initial 路线上获取路线参数。但它不起作用。
app.component.ts
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
但是我的 app.component.ts 只是 console.log 的 null null
。为什么这不起作用?我觉得我的一切都是正确的。这是一个 Angular 闪电战,可以使用:https://stackblitz.com/edit/angular-wnrrkd
你把代码写在了app.component.ts
里面,它是根组件,但是:token
是为子组件定义的,所以我把代码移到子组件里了,还有一点需要注意的是,在 app.component.html
中,您需要有显示子组件的路由器插座,只有这样才能看到令牌,请参考下面的示例。
试试这个:
this.router.parseUrl(this.router.url).queryParams['coupon']
我试图在 startup/initial 路线上获取路线参数。但它不起作用。
app.component.ts
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
但是我的 app.component.ts 只是 console.log 的 null null
。为什么这不起作用?我觉得我的一切都是正确的。这是一个 Angular 闪电战,可以使用:https://stackblitz.com/edit/angular-wnrrkd
你把代码写在了app.component.ts
里面,它是根组件,但是:token
是为子组件定义的,所以我把代码移到子组件里了,还有一点需要注意的是,在 app.component.html
中,您需要有显示子组件的路由器插座,只有这样才能看到令牌,请参考下面的示例。
试试这个:
this.router.parseUrl(this.router.url).queryParams['coupon']