更改 URL 路径结构?-6ren"> 更改 URL 路径结构?-我正在使用弹出窗口(引用文档): https://angular.io/guide/router#displaying-multiple-routes-in-named-outlets 除了 URL -6ren">
gpt4 book ai didi

Angular 更改 URL 路径结构?

转载 作者:太空狗 更新时间:2023-10-29 17:30:31 26 4
gpt4 key购买 nike

我正在使用弹出窗口(引用文档): https://angular.io/guide/router#displaying-multiple-routes-in-named-outlets

除了 URL 结构之外,一切都很好:

/domain/subPath/(popup:myopoup)

如何更改带括号的默认结构?我希望它如下所示:

/domain/subPath/popup

换句话说,我想删除括号,包括网址中的冒号

在他们的文档中,弹出窗口也以这种方式出现(带括号)

这是一些代码:

.ts

{
path: 'mypopup',
component: MyComponent,
outlet: 'popup'
},

.html

<a [routerLink]="[{ outlets: { popup: ['mypopup'] } }]">Contact</a>
<router-outlet name="popup"></router-outlet>

最佳答案

您可以使用 URL 序列化程序来更改 url 结构

import { UrlTree ,DefaultUrlSerializer, UrlSerializer } from '@angular/router';

export class cleanUrlSerializer extends DefaultUrlSerializer {
public parse(url: string): UrlTree {
function cleanUrl(url) {
return url.replace(/\(|\)/g,'') // for example to delete parenthesis
}
return super.parse(cleanUrl(url));
}
}

导入这个类并将其作为提供者添加到您的模块中

 providers: [
{
provide: UrlSerializer,
useClass: cleanUrlSerializer
}
]

关于Angular <router-outlet name ="popup"> 更改 URL 路径结构?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49515140/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com