嵌套的ember路由的动态段不起作用

时间:2015-07-30 17:00:09

标签: ember.js ember-cli

我有一个嵌套的路由结构:

 //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

似乎也同意,如果你在那里张贴我的路线,我应该在这里有一个动态片段

1 个答案:

答案 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');
});

您的余烬版本是什么?