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。
参数
名称 | 类型 | 描述 |
---|---|---|
location | string | 应该创建 href 的 history 位置 |
返回值
string
destroy
▸ destroy(): void
清除 history 实现附加的任何事件监听器。
返回值
void
go
▸ go(delta
, triggerListeners?
): void
在给定方向上遍历历史记录。
参数
名称 | 类型 | 描述 |
---|---|---|
delta | number | 要遍历的距离。如果 delta < 0,它将后退,如果它 > 0,它将向前移动指定数量的条目。 |
triggerListeners? | boolean | 这是否应该触发附加到历史记录的监听器 |
返回值
void
示例
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 时,该监听器将被触发。
参数
名称 | 类型 | 描述 |
---|---|---|
callback | NavigationCallback | 要附加的监听器 |
返回值
fn
用于删除监听器的回调
▸ (): void
返回值
void
push
▸ push(to
, data?
): void
导航到某个位置。在 HTML5 History 实现的情况下,这将调用 history.pushState
以有效地更改 URL。
参数
名称 | 类型 | 描述 |
---|---|---|
to | string | 要推送的位置 |
data? | HistoryState | 与导航条目关联的可选 HistoryState |
返回值
void
replace
▸ replace(to
, data?
): void
与 RouterHistory.push 相同,但执行 history.replaceState
而不是 history.pushState
参数
名称 | 类型 | 描述 |
---|---|---|
to | string | 要设置的位置 |
data? | HistoryState | 与导航条目关联的可选 HistoryState |
返回值
void