Расположение
Stable Class
Что это делает
Location — это служба, которую приложения могут использовать для взаимодействия с URL-адресом браузера.
Обзор класса
class Location {
static normalizeQueryParams(params: string) : string
static joinWithSlash(start: string, end: string) : string
static stripTrailingSlash(url: string) : string
constructor(platformStrategy: LocationStrategy)
path(includeHash?: boolean) : string
isCurrentPathEqualTo(path: string, query?: string) : boolean
normalize(url: string) : string
prepareExternalUrl(url: string) : string
go(path: string, query?: string) : void
replaceState(path: string, query?: string) : void
forward() : void
back() : void
subscribe(onNext: (value: PopStateEvent) => void, onThrow?: (exception: any) => void, onReturn?: () => void) : Object
}
Описание класса
В зависимости от используемой LocationStrategy, Location будет сохраняться в пути URL или в сегменте хэша URL.
Примечание: лучше использовать службу Router для запуска изменений маршрута. Используйте Location только если вам нужно взаимодействовать с нормализованными URL-адресами или создавать их вне маршрутизации.
Location отвечает за нормализацию URL-адреса относительно базового href приложения. Нормализованный URL-адрес является абсолютным от хоста URL, включает базовый href приложения и не имеет конечного слэша:
-
/my/app/user/123нормализован -
my/app/user/123не нормализован -
/my/app/user/123/не нормализован
Пример
import {Location, LocationStrategy, PathLocationStrategy} from '@angular/common';
import {Component} from '@angular/core';
@Component({
selector: 'path-location',
providers: [Location, {provide: LocationStrategy, useClass: PathLocationStrategy}],
template: `
<h1>PathLocationStrategy</h1>
Current URL is: <code>{{location.path()}}</code><br>
Normalize: <code>/foo/bar/</code> is: <code>{{location.normalize('foo/bar')}}</code><br>
`
})
export class PathLocationComponent {
location: Location;
constructor(location: Location) { this.location = location; }
}
Аннотации
@Injectable()
Конструктор
constructor(platformStrategy: LocationStrategy)
Статические члены
normalizeQueryParams(params: string) : string
Принимая строку параметров URL, добавляет «?» в начало, если необходимо, в противном случае возвращает параметры как есть.
joinWithSlash(start: string, end: string) : string
Принимая 2 части URL, объединяет их слэшем, если необходимо.
stripTrailingSlash(url: string) : string
Если URL имеет конечный слэш, удаляет его, в противном случае возвращает URL как есть.
Подробное описание класса
path(includeHash?: boolean) : string
Возвращает нормализованный путь URL.
isCurrentPathEqualTo(path: string, query?: string) : boolean
Нормализует заданный путь и сравнивает его с текущим нормализованным путем.
normalize(url: string) : string
Принимая строку, представляющую URL-адрес, возвращает нормализованный путь URL без ведущих или конечных слэшей.
prepareExternalUrl(url: string) : string
Принимая строку, представляющую URL-адрес, возвращает путь внешнего URL-адреса, специфичный для платформы. Если заданный URL не начинается с ведущего слэша ('/'), этот метод добавляет его перед нормализацией. Этот метод также добавит хэш, если используется HashLocationStrategy, или APP_BASE_HREF, если используется PathLocationStrategy.
go(path: string, query?: string) : void
Изменяет URL браузера на нормализованную версию заданного URL и добавляет новый элемент в историю платформы.
replaceState(path: string, query?: string) : void
Изменяет URL браузера на нормализованную версию заданного URL и заменяет верхний элемент стека истории платформы.
forward() : void
Переходит вперёд в истории платформы.
back() : void
Переходит назад в истории платформы.
subscribe(onNext: (value: PopStateEvent) => void, onThrow?: (exception: any) => void, onReturn?: () => void) : Object
Подписывается на события платформы popState.
экспортировано из @angular/common/index, определено в @angular/common/src/location/location.ts
© 2010–2017 Google, Inc.
Licensed under the Creative Commons Attribution License 4.0.
https://v2.angular.io/docs/ts/latest/api/common/index/Location-class.html