我有一个嵌套的路由结构:
//router.js
this.route('maps', { path: '/maps' }, function () {
this.route('show', { path: '/:id' }, function () {
this.route('display', { path: '/display' }),
this.route('layers', function () {
this.route('create')
})
});
});
我的理解是,我应该有一条路线maps.show.display
,它应该采用像maps/1/display
然而,当我转换或链接到这个时,即:
//maps route
afterModel: function (resolvedModel) {
var newestFlight = resolvedModel.content[0];
var newestMap = newestFlight.get('map');
this.transitionTo('maps.show.display', newestMap);
}
或
{{#link-to 'maps.show.display' id}}show map{{/link-to}}
我收到错误:
Error while processing route: maps.index More context objects were passed than there are dynamic segments for the route: maps.show.index
当它只是maps/display
时,这条路线接受了相同的动态段,这更让人更奇怪所以我不明白为什么嵌套会进一步打破它。
非常感谢任何关于我做错的想法
编辑:有趣的是,this awesome tool
似乎也同意,如果你在那里张贴我的路线,我应该在这里有一个动态片段
答案 0 :(得分:1)
它适用于我:http://emberjs.jsbin.com/rofowuneni/1/edit?html,css,js,output
BTW我想这个:
this.route('display', { path: '/display' });
this.route('layers', function () {
this.route('create')
});
应该是(不重要):
this.route('display', { path: '/display' });
this.route('layers', function () {
this.route('create');
});
您的余烬版本是什么?