gpt4 book ai didi

javascript - 如何通过 Angular 2 中的路由名称获取绝对 Url?

转载 作者:可可西里 更新时间:2023-11-01 02:47:17 26 4
gpt4 key购买 nike

在我的 Angualar 2(最终)应用程序中,我经常需要通过路由名称(如“/products”)创建完整(绝对)Url,例如提供指向特定页面的永久链接或从另一个选项卡/窗口中的组件打开页面。

是否有允许通过路由名称获取绝对 Url 的 Angular 2 API?如果不是,是否有一些已知的解决方法,例如使用 javascript?

我试过位置或 PathLocationStrategy(例如 prepareExternalUrl),但该方法返回“/products”而不是例如http://localhost/products

最佳答案

我目前找到的唯一解决方案

import { Router } from '@angular/router';
[...]

constructor(private _router: Router) { }

redirectNewWindow() {
const internalUrl = '/products';

// Resolve the base url as the full absolute url subtract the relative url.
var currentAbsoluteUrl = window.location.href;
var currentRelativeUrl = this._router.url;
var index = currentAbsoluteUrl.indexOf(currentRelativeUrl);
var baseUrl = currentAbsoluteUrl.substring(0, index);

// Concatenate the urls to construct the desired absolute url.
window.open(baseUrl + internalUrl, '_blank');
}

关于javascript - 如何通过 Angular 2 中的路由名称获取绝对 Url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41447305/

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