跳至内容

API 文档 / RouterHistory

接口: RouterHistory

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

属性

base

只读 base: string

附加到每个 URL 的基本路径。这允许在域的子文件夹(如 example.com/sub-folder)中托管 SPA,方法是将 base 设置为 /sub-folder


location

只读 location: string

当前 History 位置


state

只读 state: HistoryState

当前 History 状态

方法

createHref

createHref(location): string

生成要在锚点标签中使用的相应 href。

参数

名称类型描述
locationstring应该创建 href 的 history 位置

返回值

string


destroy

destroy(): void

清除 history 实现附加的任何事件监听器。

返回值

void


go

go(delta, triggerListeners?): void

在给定方向上遍历历史记录。

参数

名称类型描述
deltanumber要遍历的距离。如果 delta < 0,它将后退,如果它 > 0,它将向前移动指定数量的条目。
triggerListeners?boolean这是否应该触发附加到历史记录的监听器

返回值

void

示例

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

listen

listen(callback): () => void

将监听器附加到 History 实现,当从外部触发导航(如浏览器后退和前进按钮)或将 true 传递给 RouterHistory.back 和 RouterHistory.forward 时,该监听器将被触发。

参数

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

返回值

fn

用于删除监听器的回调

▸ (): void

返回值

void


push

push(to, data?): void

导航到某个位置。在 HTML5 History 实现的情况下,这将调用 history.pushState 以有效地更改 URL。

参数

名称类型描述
tostring要推送的位置
data?HistoryState与导航条目关联的可选 HistoryState

返回值

void


replace

replace(to, data?): void

RouterHistory.push 相同,但执行 history.replaceState 而不是 history.pushState

参数

名称类型描述
tostring要设置的位置
data?HistoryState与导航条目关联的可选 HistoryState

返回值

void