2016-07-04 1 views
-1

私は自分のページにクライアント(名前のみ)のリストを持っています。それぞれをクリックすると、その名前の他にクライアントの詳細を取得する 'clientdetails'という新しいページを開きます住所と年齢がある)。ember jsからlink-toを使ってパラメータを受け渡す方法は?

、このようなものは何私がこれまで持っている:

{{#each model as |client|}} 
    <p> {{#link-to "clientdetails"}} {{client.name}} {{/link-to}} 
    </p> 
    {{/each}} 

どのように私はclientdetailsにclient.addressとclient.ageを渡し、clientdetailsページに応じてそれらを表示する必要がありますか?

ありがとうございます。

答えて

1

を見てみましょう:(あなたとリンクするあなたのtemplate

Router.map(function() { 
    this.route('clients', function(){ 
    this.route('clientdetails', { path: '/:client_id' }); 
    }); 
}); 

を:私はあなたがあなたのクライアントの詳細にルーティングするために、あなたのroute.jsでルートを作成することができると思い

https://guides.emberjs.com/v2.5.0/templates/links/

をクライアントの詳細):

{{#each model as |client|}} 
    <p> {{#link-to "clientdetails" client}} {{client.name}} {{/link-to}} 
    </p> 
{{/each}} 
<p>{{model.name}}</p> 
<p>{{model.address}}</p> 
<p>{{model.age}}</p> 

があれば、リンクにするモデルを渡すと、そのルートのモデルフックが無視されることになりますことを心に留めておいてください

+2

、それが役に立てば幸い:最後に、あなたがあなたのクライアントの詳細を表示するテンプレートclientdetailsを作成モデルのフックをトリガーする代わりに、モデルID(client.id) –

+1

@Kitlerは、通常、再フェッチが必要ないので、モデル自体を渡すのが正しい方法です。 – Lux

+0

Godo point @Lux、正しい方法は{{#link-to "clientdetails"クライアント}}だと思いますか? – jos

関連する問題