路由模块路径配置
{ path: 'invite/:token', component: PreAuthComponent },
以前我们使用的是
localhost:4200/#/invite/?key=12345
但是更新到 Angular 7 后,它没有同时采用/?合并并且无法导航。如何使用上面提到的相同配置来实现这一点。
当前工作 URL 具有不同的配置
{ path: 'invite/:token', component: PreAuthComponent }
localhost:4200/#/invite/12345
或
{ path: 'invite', component: PreAuthComponent }
localhost:4200/#/invite?key=12345
最佳答案
根据Locationstrategy ,您可以通过在 RouterModule.forRoot()
方法中设置 useHash: true
来更新 LocationStrategy
,如下所示。
RouterModule.forRoot(routes, { useHash: true }) // .../#/crisis-center/
顺便说一下,Angular 中的路由参数(“/feature/:id”)和查询参数(“feature?key=value”)非常不同。路由参数可用于路由并由组件处理。通常,查询参数仅在 NgComponent 中处理。
关于angular - 路由 URL 不像以前在 Angular 7 中那样工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55136347/