Skip to content
该翻译已同步到了 的版本,其对应的 commit hash 是 35a9c1b

API 参考 / RouterHistory

接口:RouterHistory

由 History 实现的接口,可以作为 Router.history 传递给路由器。

属性

base

只读 base: string

基准路径,它被预置到每个 URL 上。这允许在一个域名子文件夹中托管 SPA,例如将 base 设置为 /sub-folder 使得其托管在 example.com/sub-folder


location

只读 location: string

当前历史的地址


state

只读 state: HistoryState

当前历史的状态

Methods

createHref

createHref(location): string

生成用于链接标签的相应的 href。

参数

名称类型描述
locationstring应该创建一个 href 的历史的地址

返回值

string


destroy

destroy(): void

清除任何通过该历史实现附加的事件监听器。

返回值

void


go

go(delta, triggerListeners?): void

按指定方向访问历史。

参数

名称类型描述
deltanumber访问的距离。如果 delta < 0 则后退相应数量的记录,如果 > 0 则前进。
triggerListeners?boolean是否应该触发连接到该历史的监听器

返回值

void

Example

js
myHistory.go(-1) // equivalent to window.history.back()
myHistory.go(1) // equivalent to window.history.forward()

listen

listen(callback): () => void

给历史实现附加一个监听器,当导航从外部被触发时 (像浏览器的前进后退按钮) 或者向 RouterHistory.back 和 RouterHistory.forward 传递 true 时,监听器就会被触发。

参数

名称类型描述
callbackNavigationCallback附加的监听器

返回值

fn

用来移除该监听器的回调函数。

▸ (): void

给历史实现附加一个监听器,当导航从外部被触发时 (像浏览器的前进后退按钮) 或者向 RouterHistory.back 和 RouterHistory.forward 传递 true 时,监听器就会被触发。

返回值

void

用来移除该监听器的回调函数。


push

push(to, data?): void

导航到一个地址。在 HTML5 历史实现下,这将调用 history.pushState 来有效改变 URL。

参数

名称类型描述
tostringlocation to push
data?HistoryState可选的 HistoryState 以关联该导航记录

返回值

void


replace

replace(to, data?): void

RouterHistory.push 相同,只是执行了 history.replaceState 以换掉 history.pushState

参数

名称类型描述
tostring要设置的地址
data?HistoryState可选的 HistoryState 以关联该导航记录

返回值

void

Released under the MIT License.