要解决Angular 9的routerLink将分号解析为%3B的问题,可以使用属性绑定来替代routerLink指令。以下是一个代码示例:
Link
const routes: Routes = [
{ path: 'path/:id', component: MyComponent }
];
这样做的原因是Angular 9以及更高版本中的routerLink指令对URL进行了编码,而分号在URL中是一个保留字符,需要被编码为%3B。通过使用属性绑定和冒号代替分号,我们可以避免编码问题。
请注意,如果路由路径中确实需要使用分号,请确保在使用属性绑定时对分号进行编码,如下所示:
Link
这将使用encodeURIComponent函数对分号进行编码,以便在URL中得到正确的结果。