[AngularJS][ui-router]: URL中间状态的可选参数

[AngularJS][ui-router]: optional params in states in the middle of URL

我想要这样的东西:

  .state('courses', {
    url: '/{?type}/courses',
  })

使 "type" 可选。

我们找到了这个 solution:

  .state('courses', {
    url: '{type:(?:/[^/]+)?}/courses',
  })

但是

当您直接通过 link 输入您的应用程序时,您将获得带有类型参数的额外斜线。

.state('courses', {
  url: '/:type/courses',
  params: {
    courses: {
      value: 'defaultType',
      squash: true
    }
  }
})

感谢天才推荐https://github.com/angular-ui/ui-router/issues/1501

天哪,在那个功能上花了将近半天