Javascript 在Aurelia appends中导航;?id=5“;而不是",/5“;

Javascript 在Aurelia appends中导航;?id=5“;而不是",/5“;,javascript,typescript,aurelia,Javascript,Typescript,Aurelia,我使用我的app.ts的configureRouter配置我的Aurelia路由器,如下所示: configureRouter(config, router: Router) { config.map([ { route: ['users', 'users/:userId?'], name: 'users', moduleId: './users',

我使用我的app.ts的configureRouter配置我的Aurelia路由器,如下所示:

configureRouter(config, router: Router) {
        config.map([
            {
                route: ['users', 'users/:userId?'],
                name: 'users',
                moduleId: './users',
                nav: true,
            },
            //…
       ])
}
然后我有一些代码指示路由器导航到特定用户:

showUser(id: number) {
    const params = { userId: id };
    this.router.navigateToRoute("users", params);
}
直到最近,这才奏效,给了我
#/users/1
。在aurlelia的npm更新之后-cli@1beta3给奥雷利亚-cli@1beta5这似乎不再起作用,而是生成
#/users?userId=1
并无法导航到那里


怎么了?

我猜这是因为路由器急切地匹配两种路由模式中的第一种,并使用它来生成路由。我建议只使用如下可选路由参数:
'users/:userId?
。这在我们的文档中有介绍:

您是否查看了他们的“问题”列表以获取最新更新?是的,但没有找到任何内容……谢谢您的提示。似乎不起作用。同样的问题。我把这句话加到问题上,你只需要换一条路线<代码>路由:“users/:userId?”否则,路由器仍然会急切地使用您指定的第一个路由模式。