我试图创建一条从颜色列表到单一颜色的简单路线。不幸的是,一旦导航到colors/:color
,即colors/red
,模型就不会覆盖单个模型的属性,仍然会反映颜色列表。
如何正确深入查看单个模型?
路线:
App.ColorsRoute = Ember.Route.extend({
model: function() {
return this.store.findAll('color');
}
});
App.ColorRoute = Ember.Route.extend({
model: function(params) {
console.log(params);
return this.store.findBy("color", params.colors_id);
}
});
路由器:
App.Router.map(function() {
this.resource("colors", function(){
this.resource("color", {path: "/:colors_id"});
});
});
问题转载于jsbin:http://jsbin.com/sipexu/3/edit
答案 0 :(得分:2)
有些事情不适合你 - 我在这里有一个工作的jsbin:http://jsbin.com/xejik/1
首先,“颜色”下有未申报的“索引”路线。由于您拥有该模板,因此您应该在地图调用中包含一个空函数:
App.Router.map(function() {
this.resource("colors", function(){
this.resource("color", {path: "/:colors_id"}, function() {});
});
});
此外,我更改了“颜色”模板以显示颜色名称。您的link-to
引用了this
,而不是item
:
{{#each item in model}}
<li>{{#link-to "color" item}}{{item.color}}{{/link-to}}</li>
{{/each}}
您可以在此处详细了解此信息(功能?问题?):http://discuss.emberjs.com/t/index-route-puzzle/5965