返回介绍

入门

基础

进阶

迁移

API 手册

接口

路由器 Router

发布于 2024-04-15 21:57:55 字数 11449 浏览 0 评论 0 收藏 0

Router instance.

Properties

currentRoute

addRoute

addRoute(parentName, route): () => void

添加一个新的 route record 作为现有路线的孩子。

Parameters

名称类型说明
parentNameRouteRecordName父路由记录,其中 route 应该附加在
routeRouteRecordRaw要添加的路由记录

Returns

fn

▸ (): void

添加一个新的 route record 作为现有路线的孩子。

Returns

void

addRoute(route): () => void

向路由器添加新的路由记录。

Parameters

名称类型说明
routeRouteRecordRaw要添加的路由记录

Returns

fn

▸ (): void

向路由器添加新的路由记录。

Returns

void


afterEach

afterEach(guard): () => void

添加在每次导航后执行的导航挂钩。 返回一个删除已注册挂钩的函数。

Example

js
router.afterEach((to, from, failure) => {
  if (isNavigationFailure(failure)) {
    console.log('failed navigation', failure)
  }
})

Parameters

名称类型说明
guardNavigationHookAfter要添加的导航挂钩

Returns

fn

▸ (): void

添加在每次导航后执行的导航挂钩。 返回一个删除已注册挂钩的函数。

Example

js
router.afterEach((to, from, failure) => {
  if (isNavigationFailure(failure)) {
    console.log('failed navigation', failure)
  }
})
Returns

void


back

back(): void

如果可能,通过调用 history.back() 回到历史。 相当于

router.go(-1).

Returns

void


beforeEach

beforeEach(guard): () => void

添加一个在任何导航之前执行的导航守卫。 返回一个删除已注册守卫的函数。

Parameters

名称类型说明
guardNavigationGuardWithThis<undefined>导航守卫添加

Returns

fn

▸ (): void

添加一个在任何导航之前执行的导航守卫。 返回一个删除已注册守卫的函数。

Returns

void


beforeResolve

beforeResolve(guard): () => void

添加一个在导航即将被解析之前执行的导航守卫。 在此状态下,已获取所有组件并且其他导航守卫已成功。 返回一个删除已注册守卫的函数。

Example

js
router.beforeResolve(to => {
  if (to.meta.requiresAuth && !isAuthenticated) return false
})

Parameters

名称类型说明
guardNavigationGuardWithThis<undefined>导航守卫添加

Returns

fn

▸ (): void

添加一个在导航即将被解析之前执行的导航守卫。 在此状态下,已获取所有组件并且其他导航守卫已成功。 返回一个删除已注册守卫的函数。

Example

js
router.beforeResolve(to => {
  if (to.meta.requiresAuth && !isAuthenticated) return false
})
Returns

void


forward

forward(): void

如果可能,通过调用 history.forward() 在历史中前进。 相当于 router.go(1) 。

Returns

void


getRoutes

getRoutes(): RouteRecordNormalized

获取所有 路由记录 的完整列表。

Returns

RouteRecordNormalized


go

go(delta): void

允许您在历史中向前或向后移动。 调用 history.go()

Parameters

名称类型说明
deltanumber您要移动到的历史记录中相对于当前页面的位置

Returns

void


hasRoute

hasRoute(name): boolean

检查是否存在具有给定名称的路由

Parameters

名称类型说明
nameRouteRecordName要检查的路由名称

Returns

boolean


isReady

isReady(): Promise<void>

返回一个在路由器完成初始导航时解析的 Promise,这意味着它已经解析了与初始路由关联的所有异步输入挂钩和异步组件。 如果初始导航已经发生,则 promise 会立即 resolve。

这在服务器端渲染中很有用,可确保服务器和客户端的输出一致。 请注意,在服务器端,您需要手动推送初始位置,而在客户端,路由器会自动从 URL 中获取它。

Returns

Promise<void>


onError

onError(handler): () => void

添加一个错误处理程序,每次在导航期间发生未捕获的错误时都会调用该错误处理程序。 这包括同步和异步抛出的错误,在任何导航守卫中返回或传递给next的错误,以及在尝试解析呈现路由所需的异步组件时发生的错误。

Parameters

名称类型说明
handler_ErrorHandler要注册的错误处理程序

Returns

fn

▸ (): void

添加一个错误处理程序,每次在导航期间发生未捕获的错误时都会调用该错误处理程序。 这包括同步和异步抛出的错误,在任何导航守卫中返回或传递给“next”的错误,以及在尝试解析呈现路由所需的异步组件时发生的错误。

Returns

void


push

push(to): Promise<undefined | void | NavigationFailure>

通过将条目推送到历史堆栈中,以编程方式导航到新 URL。

Parameters

名称类型说明
toRouteLocationRaw要导航到的路线位置

Returns

Promise<undefined | void | NavigationFailure>


removeRoute

removeRoute(name): void

按名称删除现有路线。

Parameters

名称类型说明
nameRouteRecordName要删除的路由名称

Returns

void


replace

replace(to): Promise<undefined | void | NavigationFailure>

通过替换历史堆栈中的当前条目,以编程方式导航到新 URL。

Parameters

名称类型说明
toRouteLocationRaw要导航到的路线位置

Returns

Promise<undefined | void | NavigationFailure>


resolve

resolve(to, currentLocation?): RouteLocation & { href: string }

返回路由位置 的规范化版本。 还包括一个包含任何现有basehref属性。 默认情况下,使用的 currentLocationrouter.currentRoute 并且应该只在高级用例中被覆盖。

Parameters

名称类型说明
toRouteLocationRaw要解析的原始路线位置
currentLocation?RouteLocationNormalizedLoaded要解析的可选当前位置

Returns

RouteLocation & { href: string }

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文