【发布时间】:2023-03-11 09:20:02
【问题描述】:
在我更新到最新的 angular v4.3.2 之后,我的所有网址都在 & 值处中断,例如,我有一个路由 /:value 我想从中获取值:
但它会将我重定向到:
而且由于来自 url 的值是动态的,很多人都可以拥有而我无法显示正确的结果。
使用 CustomUrlSerializer 我设法将 %26 替换为 & 并通过应用程序内的路由器进行导航,但仍处于初始页面加载 url 被拆分:
import { UrlSerializer, UrlTree, DefaultUrlSerializer } from '@angular/router';
export class CustomUrlSerializer implements UrlSerializer {
parse(url: any): UrlTree {
const dus = new DefaultUrlSerializer();
return dus.parse(url);
}
serialize(tree: UrlTree): any {
const dus = new DefaultUrlSerializer();
const path = dus.serialize(tree);
return path.replace(/%26/g, '&').replace(/%2B/g, '+');
}
}
有没有办法在 & 处禁用 url 中断?
【问题讨论】:
-
为什么在 URL 中需要
&?它在 URL 中用作特殊字符,IMO 应该保持这种状态。 -
是的,我知道它是一个分隔参数的特殊字符,我需要它,因为它的值是动态的,并且许多包含特殊字符,如 &,我不希望它被拆分...
标签: angular typescript angular2-routing