PathLocationStrategy

A LocationStrategyused to configure the Locationservice to represent its state in the path of the browser's URL.

class PathLocationStrategy extends LocationStrategy { onPopState(fn: LocationChangeListener): void getBaseHref(): string prepareExternalUrl(internal: string): string path(includeHash: boolean = false): string pushState(state: any, title: string, url: string, queryParams: string) replaceState(state: any, title: string, url: string, queryParams: string) forward(): void back(): void // 继承自 common/LocationStrategy abstract path(includeHash?: boolean): string abstract prepareExternalUrl(internal: string): string abstract pushState(state: any, title: string, url: string, queryParams: string): void abstract replaceState(state: any, title: string, url: string, queryParams: string): void abstract forward(): void abstract back(): void abstract onPopState(fn: LocationChangeListener): void abstract getBaseHref(): string }

说明

If you're using PathLocationStrategy, you must provide a APP_BASE_HREFor add a base element to the document. This URL prefix that will be preserved when generating and recognizing URLs.

For instance, if you provide an APP_BASE_HREF of '/my/app' and call location.go('/foo'), the browser's URL will become example.com/my/app/foo.

Similarly, if you add <base href='/my/app'/> to the document and call location.go('/foo'), the browser's URL will become example.com/my/app/foo.

Example

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; } }

方法

onPopState(fn: LocationChangeListener): void

参数

fn

Type: LocationChangeListener.

返回值

void

getBaseHref(): string

参数

没有参数。

返回值

string

prepareExternalUrl(internal: string): string

参数

internal

Type: string.

返回值

string

path(includeHash: boolean = false): string

参数

includeHash

Type: boolean.

可选. 默认值是 false.

返回值

string

pushState(state: any, title: string, url: string, queryParams: string)

参数

state

Type: any.

title

Type: string.

url

Type: string.

queryParams

Type: string.

replaceState(state: any, title: string, url: string, queryParams: string)

参数

state

Type: any.

title

Type: string.

url

Type: string.

queryParams

Type: string.

forward(): void

参数

没有参数。

返回值

void

back(): void

参数

没有参数。

返回值

void

注解

@Injectable()