如何将参数传递给灰烬路线

时间:2014-06-11 05:26:06

标签: ember.js

请参阅:http://emberjs.jsbin.com/xakok/1/edit

我该如何做?类别显示。当用户单击某个类别时,我想显示属于所单击类别的链接列表。 Ember似乎一直绕过我的LinkRoute。谢谢

1 个答案:

答案 0 :(得分:1)

当你为链接到帮助者提供一个模型时,它将跳过模型钩子(它根据模型构建了url,并假设它是用于该路径的模型)。

话虽如此,您需要处理刷新页面而不是使用链接到页面的情况。

解决第一个问题,我们现在可以假设类别模型作为模型被发送到链接路径。因此,我们可以更新模板以迭代发送类别的链接。(您也可以说model.links中的每个链接,其中类别是您的模型)。

{{#each link in links}}
  {{link.title}}<br/>
{{/each}}

但是你需要能够处理我们刷新页面的情况。因此,我们更改链接路由以模仿行为并返回链接到的相同类型的模型。

App.LinkRoute = Ember.Route.extend({
    model: function(params) {
        return this.store.find('category', params.category_id);
    }
});

最后,使用fixture适配器,当您将hasManybelongsTo定义为3[1,2,3]时,您需要将这些关系指定为异步。

App.Category = DS.Model.extend({
  name: DS.attr('string'),
  links: DS.hasMany('link', {async:true})
});

示例:http://emberjs.jsbin.com/fexelera/1/edit

最后,感谢您提供源代码以及您的问题所需的一切,jsbin确实可以帮助人们轻松回答问题。