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。
参数
名称 | 类型 | 描述 |
---|---|---|
location | string | 应该创建一个 href 的历史的地址 |
返回值
string
destroy
▸ destroy(): void
清除任何通过该历史实现附加的事件监听器。
返回值
void
go
▸ go(delta
, triggerListeners?
): void
按指定方向访问历史。
参数
名称 | 类型 | 描述 |
---|---|---|
delta | number | 访问的距离。如果 delta < 0 则后退相应数量的记录,如果 > 0 则前进。 |
triggerListeners? | boolean | 是否应该触发连接到该历史的监听器 |
返回值
void
Example
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
时,监听器就会被触发。
参数
名称 | 类型 | 描述 |
---|---|---|
callback | NavigationCallback | 附加的监听器 |
返回值
fn
用来移除该监听器的回调函数。
▸ (): void
给历史实现附加一个监听器,当导航从外部被触发时 (像浏览器的前进后退按钮) 或者向 RouterHistory.back 和 RouterHistory.forward 传递 true
时,监听器就会被触发。
返回值
void
用来移除该监听器的回调函数。
push
▸ push(to
, data?
): void
导航到一个地址。在 HTML5 历史实现下,这将调用 history.pushState
来有效改变 URL。
参数
名称 | 类型 | 描述 |
---|---|---|
to | string | location to push |
data? | HistoryState | 可选的 HistoryState 以关联该导航记录 |
返回值
void
replace
▸ replace(to
, data?
): void
和 RouterHistory.push 相同,只是执行了 history.replaceState
以换掉 history.pushState
。
参数
名称 | 类型 | 描述 |
---|---|---|
to | string | 要设置的地址 |
data? | HistoryState | 可选的 HistoryState 以关联该导航记录 |
返回值
void