Durandal 激活到特定路线不起作用

Durandal activating to specific route not working

我有以下内容:

<div class="page-host" data-bind="router: { transition:'entrance' }"></div>

使用标准路由器配置,我调用:

return router.activate('browse');

然而,我每次都被 "hello" 路由。我需要有条件地 select 从 shell 中导航到哪条路线 - 如何做到这一点?

我的路线配置:

router.map([
                { route: ['', 'hello'], title: 'hello', moduleId: 'hello/hello', nav: true, allowedUsers: ['authenticated', 'unauthenticated'] },

                { route: 'browse', moduleId: 'browse/browse', nav: true, allowedUsers: ['authenticated'] },

                { route: 'resetpassword/:id', moduleId: 'forgot/reset', nav: false, allowedUsers: ['unauthenticated'] }

            ]).buildNavigationModel();

我最终提取了路由数组并在调用 router.map 之前对其进行操作以设置默认路由 - 尽管我会保持打开状态以防有更好的方法。

您可以使用 startRoute 参数指定激活时使用的路由,如下所示:

return router.activate({
    startRoute: "myStartRoute"
});