如何将可选参数路由与相同名称的静态路由相结合(Durandal路由器)



我在shell中配置了工作路由器.js:

router.map([
  { route: 'messages', moduleId: 'views/messages', nav: true },
  { route: 'messages/create', moduleId: 'views/messagesCreate', nav: true },
]).buildNavigationModel();

我想做的是让我的#messages路由能够检索可选的参数id(/:id),比如这样的:

router.map([
      { route: 'messages(/:id)', moduleId: 'views/messages', nav: true },
      { route: 'messages/create', moduleId: 'views/messagesCreate', nav: true },
    ]).buildNavigationModel();

这样我就可以导航到带有或不带有参数的消息页面。。

这很好,但当我想导航到messages/create页面时,问题就来了。。

我如何在不需要更改路线名称的情况下完成这项工作?

任何帮助、想法或建议都将不胜感激
感谢

更改路线的顺序

router.map([
  { route: 'messages/create', moduleId: 'views/messagesCreate', nav: true },
  { route: 'messages(/:id)', moduleId: 'views/messages', nav: true },
]).buildNavigationModel();

最新更新