我有以下路线结构。
App.Router.map(function() {
this.resource('projects', function() {
this.resource('listings', {path: '/:project_id/listings'}, function() {
this.route('listing', {path: '/:property_code'});
});
});
});
我复制了这个结构并创造了一个小提琴。
小提琴:http://jsfiddle.net/aqHnt/6/
我希望路由器不言自明。我有一堆projects
,每个都有一堆listings
,每个listing
都会有一些额外的细节。因为这些是嵌套资源,所以每个子资源都会呈现给它的父模板{{outlet}}
。
我需要的是完全覆盖父模板,并根据不同帖子中的建议,我使用资源index
路由来实现此目的。
因此,如果单击某个项目,整个项目模板将替换为列表模板。到目前为止一切都很好,但我似乎无法通过列表实现相同的目标。当我点击列表时,我希望整个列表模板被列表详细信息替换。有人可以指出我在这里做错了什么。
答案 0 :(得分:1)
这是一个可能的解决方案:jsfiddle。
除listings
之外,您错过了listings/index
模板,以及路线ListingsIndex
。这样,您可以复制在application
级别使用的相同模式。
您还可以考虑使用renderTemplate来指定呈现给定模板所需的outlet
。
希望它有所帮助!