2017-02-27 37 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]); 
}