Мой текущий URL-адрес http://localhost:4200/myApp/dashboard.
Я хочу напечатать базовый URL, т.е. http://localhost:4200/myApp, используя угловые 5 функций.
Я использую этот код:
constructor(private platformLocation: PlatformLocation) { } const appPath = (this.platformLocation as any).location.origin
однако возвращается только доменное имя http://localhost:4200
Вы также можете использовать Местоположение :
импорт:
import {Location} from '@angular/common';
Вводить:
constructor(@Inject(Location) private readonly location: Location) {}
Использование:
const pathAfterDomainName = this.location.path();
Вы можете ввести Router из @angular/router и использовать this.router.url
Router
@angular/router
this.router.url
BaseHref должен быть доступен с помощью this.router.location._baseHref
this.router.location._baseHref
Добавлено значение base_href в поставщиках модулей приложения
import { APP_BASE_HREF } from '@angular/common'; providers: [ { provide: APP_BASE_HREF, useValue: "http://localhost:4500/MyApp" } ]
и в коде
import { LocationStrategy, Location } from '@angular/common'; constructor(private locationStrategy: LocationStrategy) {} const appPath = location.origin + this.locationStrategy.getBaseHref();
Fiddle: https://stackblitz.com/edit/angular-router-basic-example-rqcji3?file=app%2Fapp.component.ts