2017-02-27 41 views
4

我有一个routerLink附加到我在angular2组件的HTML中创建的表中的主导值。点击该表值后,我希望routerLink不仅可以发送到下一个组件,还可以将选定的值传送到下一个组件。Angular2 - 将routerLink参数添加到选定的表值

的当前代码

<a [routerLink]="['/Records']" ><td> {{Member.Name}} <td></a> 

示例中,我的链接,以便它发送到记录页面,但是我怎么发的名字给组件,以便我可以显示我想要的特定记录显示?

回答

4

添加路由参数到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

是什么,我需要使用能够实现OnInit的进口? – MattInTheHat

+0

从'@ angular/core'导入{OnInit}; –

+1

我已经正确实现OnInit并且不再收到错误,但是,我收到另一个错误,说它找不到名称ngOnInit。 – MattInTheHat

3

定义您的路线是这样的:

{ path: 'Records/:id', component: xxx } 

声明:

<a [routerLink]="['/Records', Member.name]">{{ Member.name }}</a> 

编程:

goToMemberDetails(name) { 
    this.router.navigate(['/Records', name]); 
}