路线中如何包含可选路段?

时间:2018-10-23 13:05:51

标签: javascript ember.js

我有一个用例,不确定当前的Ember路由器中是否有简单的解决方案,是否可以定义可选的路由参数?

我想有一条动态路线,该路线可能有1个段或可能有2个段,然后在内部嵌套其他路线。我对结构的想法类似于以下内容(除了:topic部分是可选的)

this.route('course', { path: '/:course' }, function() {
  this.route('page', { path: '/:topic/:page' }, function() {
    this.route('menu', function() {

    });
  });
});

/my-course/my-topic/my-page会达到页面路线

/my-course/my-page会达到页面路线

/my-course/my-page/menu会进入菜单路线

/my-course/my-topic/my-page/menu会进入菜单路线

1 个答案:

答案 0 :(得分:0)

我发现的一种解决方案是使用通配符,然后自己细分。

this.route('course', { path: '/:course' }, function() {
  this.route('page', { path: '/*path_for_page' }, function() {
    this.route('menu', function() {

    });
  });
});