在我的Angualar 2(final)应用程序中,我经常需要通过路由名称(例如'/ products')创建完整的(绝对)网址,例如提供到特定页面的永久链接或从另一个选项卡/窗口中的组件打开页面。
是否有任何Angular 2 API,可以通过路由名称获取绝对网址?如果否,是否有已知的解决方法,例如使用JavaScript?
我已经尝试了location或PathLocationStrategy(例如prepareExternalUrl),但是该方法返回的是'/ products'而不是例如http://localhost/products
最佳答案
您可以使用PlatformLocation
来获取base_url,然后可以将其与prepareExternalUrl
的返回值连接起来:
import { PlatformLocation } from '@angular/common';
export class MyComponent {
constructor(
private platformLocation: PlatformLocation
){
this.logAppStart(platformLocation);
}
private logAppStart(platformLocation: any){ // CHANGED THE TYPE TO ANY TO BE ABLE TO ACCESS THE LOCATION PROPERTY
console.log(platformLocation.location); // HERE YOU FIND WHAT YOU NEED
}
}
找到here
关于javascript - 如何在Angular 2中通过路线名称获取绝对网址?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41447305/