我有2条路线列车,用豆荚创建团队。
trains
--route.js
--template.hbs
teams
--route.js
--template.hbs
路由器
Router.map(function() {
this.route('trains', function(){
this.route('teams', {path: '/:train_name'});
});
});
当我导航到/ train / some-train-name / teams时。它没有调用团队路线。它正在寻找模板'火车/团队'。是期待我的团队文件夹在火车文件夹内。如何嵌套这两条不同的路线
答案 0 :(得分:1)
trains
--route.js // common for all subroutes
--template.hbs // common for all subtemplates
index
--route.js
--template.hbs
teams
--route.js
--template.hbs
尝试下一个结构
如果您仍然需要保留您显示的结构 - 您需要更新您的解析器
app/resolver.js
export default Ember.Resolver.extend({
resolve(fullName) {
// put custom logic here
}
});
我不能给你一些代码,因为我需要调试才能使它工作 阅读更多http://emberjs.com/api/classes/Ember.DefaultResolver.html
P.S。
你尝试过吗?Router.map(function() {
this.route('trains');
this.route('teams', {path: 'trains/:train_name/teams'});
});
答案 1 :(得分:1)
您必须reset the namespace,因此这两条路线实际上都是顶级路线,而不是teams
命名空间trains
。我不推荐这个,因为它使结构混乱:
Router.map(function() {
this.route('trains', function(){
this.route('teams', { path: '/:train_name', resetNamespace: true });
});
});