2016-07-04 68 views
-1

我在我的页面上有一个客户端列表(只有名字),当我点击其中的每一个时,我想打开一个名为'clientdetails'的新页面,我在其中获得客户端的详细信息(I有地址和年龄);如何传递和接收使用来自烬js的链接的参数?

什么我到目前为止是这样的:

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

我应该怎样通过client.address和client.age到clientdetails并在clientdetails页面相应地显示他们呢?

谢谢。

回答

1

看看:

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

我想你可以创建一个在您route.js路由的路由到客户端的详细信息:

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

在你template(与连结客户详情):

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

最后,创建一个模板clientdetails您展示客户详细信息:

<p>{{model.name}}</p> 
<p>{{model.address}}</p> 
<p>{{model.age}}</p> 

希望它能帮助,

+2

请记住,经过模型链接到将导致路由的模型钩被忽略,如果你确实希望模型钩子被触发传递模型ID(client.id) –

+1

@Kitler仍然通常正确的方式是传递模型本身,因为重新获取是不必要的。 – Lux

+0

Godo point @Lux,所以你认为正确的方法是{{#链接到“clientdetails”客户端}},对吗? – jos