gpt4 book ai didi

angular - 如何从 Angular 5+ 中的对象创建带有查询参数的 url 字符串?

转载 作者:太空狗 更新时间:2023-10-29 17:08:58 25 4
gpt4 key购买 nike

我正在尝试从 Angular 5 SPA 中的对象创建 URL。我的代码如下所示:

import { UrlTree, UrlSegmentGroup, DefaultUrlSerializer, UrlSegment } from "@angular/router";

const urlTree = new UrlTree();
urlTree.root = new UrlSegmentGroup([new UrlSegment("EndPoint", {})], {});
urlTree.queryParams = {
"param1": param1Value,
"param2": param2Value
};
const urlSerializer = new DefaultUrlSerializer();
const url = urlSerializer.serialize(urlTree);

它完成了这项工作,但它似乎包含了如此琐碎的工作的大量开销,我想知道是否有更直接的方法从对象中获取 url。

我的期望是有一些简单的东西:

const url = someSerializer.serialize("/segment1/segment2", { 
"param1": param1Value,
"param2": param2Value
})

问题如何从 Angular 5+ 中的对象创建带有查询参数的 url 字符串?

最佳答案

您可以只使用 RouterUrlSerializer:

constructor(private router: Router, private serializer: UrlSerializer) {
const tree = router.createUrlTree([], { queryParams: { foo: 'a', bar: 42 } });
console.log(serializer.serialize(tree)); // "/?foo=a&bar=42"
}

查看演示:https://stackblitz.com/edit/angular-basic-template-3hx9at?file=src/app/hello.component.ts

关于angular - 如何从 Angular 5+ 中的对象创建带有查询参数的 url 字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51024982/

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