angular - 浏览器无法导航到路由链接
问题描述
我有以下路线:
const routes: Routes = [
{ path: '', component: HomeComponent },
{ path: 'about', component: AboutComponent },
{ path: 'contact', component: ContactComponent },
{ path: 'product', component: ProductComponent },
{ path: 'register', component: RegisterComponent },
{ path: 'login', component: LoginComponent },
];
在 home 组件中,我有一个链接列表:
<a class="linkCategoriesInner__link" routerLink="/?gender=men&category=1">ALL</a>
<a class="linkCategoriesInner__link" routerLink="/?gender=men&category=2">Jeans</a>
<a class="linkCategoriesInner__link" routerLink="/?gender=men&category=3">Jackets</a>
<a class="linkCategoriesInner__link" routerLink="/?gender=men&category=4">Coats</a>
<a class="linkCategoriesInner__link" routerLink="/?gender=men&category=5">T-Shirts</a>
<a class="linkCategoriesInner__link" routerLink="/?gender=men&category=6">Sneakers</a>
<a class="linkCategoriesInner__link" routerLink="/?gender=men&category=7">Hats</a>
当我单击其中任何一个时,控制台中出现错误:
ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: '%3Fgender%3Dmen&category%3D3'
Error: Cannot match any routes. URL Segment: '%3Fgender%3Dmen&category%3D3'
为什么会发出此错误?
解决方案
您应该使用“queryParams”来传递参数。
<a class="linkCategoriesInner__link" routerLink="/" [queryParams]="{gender: 'men', category: 7}">Hats</a>
推荐阅读
- php - 如果通过 jQuery sortable() 移动到“今天列表”,则更改数据库中项目的日期
- python - Telegram Payment 2.0 API:如何使用 answerShippingQuery 和 answerPreCheckoutQuery 解决这个问题?
- java - 是否有相当于 JDA 的 bulkDelete?
- tensorflow - 面部表情 val_accuracy 没有提高
- flutter - 有没有办法修复列表小部件错误
- node.js - 如何在 Windows 上使用 npm 脚本设置 NODE_ENV?
- javascript - array.splice() 删除条目的内容,但不删除条目本身
- python - 如何解决这个问题(来自 csv 的 imp 之后的错误)?
- android - 即使在导航中为目标片段设置参数值后,也无法将值从 FragmentOne 传递到 FragmentTwo
- jdbc - JDBC PreparedStatement.executeQuery() 的详细信息