我一直试图让查询参数在两天的大部分时间内工作并且没有运气。我有一个非常简单的路线def:
{ path: 'search', component: SearchComponent, canActivate: [ AuthGuard ] }
我试图能够直接在搜索页面上找到在搜索控制器中查看的查询参数,如果它们在那里从查询参数中正确设置搜索:
http://localhost:5001/search?q=something&tt=234234234234
我已正确订阅了Activated路由,我甚至看到查询参数在控制台中被正确解析:
Object {q: "something", tt: "234234234234"}
但在我收到有关不匹配任何路线的错误后立即:
core.es5.js:1020 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'search%3Fq%3Dsomething%26tt%3D234234234234'
Error: Cannot match any routes. URL Segment: 'search%3Fq%3Dsomething%26tt%3D234234234234'
我得到的,肯定没有这样的路线,为什么查询参数从主路段中提取出来?我正在使用一个主app模块来加载其他模块。在我的搜索模块中,我包括路由器模块,如:
RouterModule.forChild(searchRoutes)
我的主路由器模块有一个空路由,路由器模块如下:
{ path: '', component: AppComponent, pathMatch: 'full' }
RouterModule.forRoot(appRoutes)
两个RouterModule都在导入结束时加载。感谢您的任何见解!