我有一个routerLink附加到我在angular2组件的HTML中创建的表中的前导值。单击该表值后,我希望routerLink不仅可以发送到下一个组件,还可以将所选值带到下一个组件。
当前代码示例
<a [routerLink]="['/Records']" ><td> {{Member.Name}} <td></a>
我有链接,所以它发送到记录页面,但是如何将名称发送到该组件,以便我可以显示我想要显示的特定记录?
答案 0 :(得分:7)
将路线参数添加到url
,然后使用ActivatedRoute
访问该值。
{ path: "Records/:name", component: RecordsComponent }
链接
<a [routerLink]="['/Records', Member.Name]" ><td> {{Member.Name}} <td></a>
获得价值
@Component({
...
})
export class RecordsComponent implements OnInit {
constructor(private _route: ActivatedRoute) { }
ngOnInit(){
this._route.params.subscribe((params) => {
var recordName = params["name"];
//load record data
});
}
答案 1 :(得分:4)
像这样定义你的路线:
{ path: 'Records/:id', component: xxx }
声明:
<a [routerLink]="['/Records', Member.name]">{{ Member.name }}</a>
编程:
goToMemberDetails(name) {
this.router.navigate(['/Records', name]);
}
答案 2 :(得分:0)
@Component({
...
})
export class RecordsComponent implements OnInit {
constructor(private _route: ActivatedRoute) { }
ngOnInit(){
this._route.params.subscribe((params) => {
var recordName = params["name"];
//load record data
});
}