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

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.