我想下面的佈局平原航線資源路線:ember.js - 混合與非標準嵌套佈局
所以,當在/courses
我在顯示屏幕範圍的模板的所有課程,然而,當用戶瀏覽到例如,課程/courses/2
,然後它變成一個嵌套視圖,其左側的課程列表和主要區域的課程詳細信息頁面。
我嘗試了以下設置,但不能得到它的工作:
this.resource('courses', function() {
this.resource('course', { path: '/:course_id' });
});
this.route('allcourses', {path: '/courses'});
用下面的路由定義:
App.AllcoursesRoute = App.Route.extend({
model: function() {
return this.store.find('course');
},
renderTemplate: function() {
this.render('allcourses', {
into: 'application'
})
}
});
App.CoursesRoute = App.Route.extend({
model: function() {
return this.modelFor('allcourses');
},
renderTemplate: function() {
this.render('courses', {
into: 'application'
})
}
});
App.CourseRoute = App.Route.extend({
model: function(params) {
return this.store.find('course', params.course_id);
},
renderTemplate: function() {
this.render('course', {
into: 'courses'
});
}
});
目前我當得到「allcourses」模板在/然而,單擊每個課程鏈接的課程都會嘗試將課程模板渲染到allcourses模板中的出口,而不是我希望發生的課程模板。
是的,我想用allcourses模板來打破通常的課程路線,但是一旦回到/ courses /:id路線就會回到通常的課程模板。如果沒有爲'allcourses'定義一個新的網址,似乎並不可能。 – cjroebuck
我很喜歡根據你所在的路線說出非常明確的路線或黑魔法用戶界面。(如edpaez回答中的評論) – Kingpin2k