在Angular 4中搜索多個線程/問題後,我無法解決與傳遞queryParams到Angular 4路由有關的問題。Angular 4 - 路徑查詢參數導致路徑匹配失敗
當通過任一到URL
http://localhost/search;x=y
通過模板[queryParams] = {X: 'Y'}
<a [routerLink]="/search" [queryParams]="{x: 'y'}">Navigate</a>
或在組件類
this._router.navigate(['/search'], { queryParams: {x: 'y'} });
結果是路由器拋出一個匹配錯誤:
Error: Cannot match any routes. URL Segment: 'search%3Fparam1%3Dtest1%26param2%3Dtest2'
將enableTracing設置爲true時,我可以看到導航對可疑字符進行編碼,這很可能是它未能匹配的原因。
我有一個要求,以處理包含queryParams,並解析它們的API調用,所以查詢參數路由必須使用所需或可選參數。
有沒有人有類似的問題,如果是的話,是編碼問題的根源(ahem。)原因?
你能告訴我們你的路線在定義路徑嗎?它應該是'{path:'search /:x',component:MyComponent}'。如果沒有,這是你的錯誤! – trichetriche
不完全。 QueryParams應該不**在路由定義中定義。如果他們是...那麼*那*是問題。 :-) – DeborahK