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

时间:2014-10-17 07:43:24

标签: durandal durandal-2.0 durandal-navigation

我在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页面时问题就出现了。

如何在不需要更改路线名称的情况下完成此操作?

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

1 个答案:

答案 0 :(得分:3)

更改路线的顺序

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