2017-02-27 5 views
4

私は、angle2コンポーネントのHTMLで作成したテーブルのlead値にrouterLinkを添付しました。そのテーブル値をクリックすると、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

'{角度/コア}'から{OnInit}をインポートします。 –

+1

私は正しくOnInitを実装しましたが、もはやエラーが発生していませんが、名前が見つからないという別のエラーが発生しています。 – MattInTheHat

3

このようなあなたのルートを定義します宣言

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

:プログラムで

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

goToMemberDetails(name) { 
    this.router.navigate(['/Records', name]); 
} 
関連する問題