Spec-Zone.ru › Angular 2

Расположение

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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API