Aya*_*ane 1 components angular2-routing angular
我有两个组件,我想使用路由参数从一个变量发送到另一个.在我的第一个组件中,我使用此函数发送id:
sendId(id : string) : void {
this.router.navigate(['/component2', id]);
}
Run Code Online (Sandbox Code Playgroud)
我的路由模块如下所示:
const routes: Routes = [
{ path: 'component2/:id', component: Component2},
{ path: '**', redirectTo: '' }
];
@NgModule({
imports: [ RouterModule.forRoot(routes) ],
exports: [ RouterModule ]
})
export class AppRoutingModule {}
Run Code Online (Sandbox Code Playgroud)
在我的第二个组件中,我试图像这样读取它:
import { Router, ActivatedRoute, Params } from '@angular/router';
export class Component2 implements OnInit {
id: string;
constructor(private router: Router, private route: ActivatedRoute) {
}
ngOnInit() {
this.route.params.subscribe(params => { this.id = +params['id'];
});
console.log(this.id);
}
Run Code Online (Sandbox Code Playgroud)
但我收到一个空值.我错过了什么?
因为console.log(this.id);在你从路线获得价值之前工作.把console.log进入subscribe功能
ngOnInit() {
this.route.params.subscribe(params => {
this.id = +params['id'];
console.log(this.id);
});
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2437 次 |
| 最近记录: |