入门
基础
- 动态路由匹配 Dynamic Route Matching
- 路由的匹配语法 Routes' Matching Syntax
- 嵌套路由 Nested Routes
- 编程式导航 Programmatic Navigation
- 命名路由 Named Routes
- 命名视图 Named Views
- 重定向和别名 Redirect and Alias
- 路由组件传参 Passing Props to Route Components
- 不同的历史记录模式 Different History modes
进阶
- 导航守卫 Navigation guards
- 导航故障 Navigation Failures
- 路由元信息 Route Meta Fields
- 数据获取 Data Fetching
- 组合式 API Composition API
- 过渡动效 Transitions
- 滚动行为 Scroll Behavior
- 路由懒加载 Lazy Loading Routes
- 类型化路由 Typed Routes
- 扩展路由链接 Extending RouterLink
- 动态路由 Dynamic Routing
迁移
API 手册
接口
- 历史记录状态 HistoryState
- 导航故障 NavigationFailure
- 导航卫士 NavigationGuard
- 导航卫士下一页 NavigationGuardNext
- 导航卫士用这个 NavigationGuardWithThis
- 导航后 NavigationHookAfter
- 路由位置 RouteLocation
- 路由位置匹配 RouteLocationMatched
- 路由位置规范化 RouteLocationNormalized
- 路线位置规范加载 RouteLocationNormalizedLoaded
- 路由位置选项 RouteLocationOptions
- 路线梅塔 RouteMeta
- 路由记录规范化 RouteRecordNormalized
- 路由器 Router
- 路由器历史 RouterHistory
- 路由器链接配置文件 RouterLinkProps
- 路由器选项 RouterOptions
- 路由器滚动行为 RouterScrollBehavior
- 路由器视图Props RouterViewProps
路由器 Router
Router instance.
Properties
currentRouteaddRoute
▸ addRoute(parentName
, route
): () => void
添加一个新的 route record 作为现有路线的孩子。
Parameters
名称 | 类型 | 说明 |
---|---|---|
parentName | RouteRecordName | 父路由记录,其中 route 应该附加在 |
route | RouteRecordRaw | 要添加的路由记录 |
Returns
fn
▸ (): void
添加一个新的 route record 作为现有路线的孩子。
Returns
void
▸ addRoute(route
): () => void
向路由器添加新的路由记录。
Parameters
名称 | 类型 | 说明 |
---|---|---|
route | RouteRecordRaw | 要添加的路由记录 |
Returns
fn
▸ (): void
向路由器添加新的路由记录。
Returns
void
afterEach
▸ afterEach(guard
): () => void
添加在每次导航后执行的导航挂钩。 返回一个删除已注册挂钩的函数。
Example
router.afterEach((to, from, failure) => {
if (isNavigationFailure(failure)) {
console.log('failed navigation', failure)
}
})
Parameters
名称 | 类型 | 说明 |
---|---|---|
guard | NavigationHookAfter | 要添加的导航挂钩 |
Returns
fn
▸ (): void
添加在每次导航后执行的导航挂钩。 返回一个删除已注册挂钩的函数。
Example
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
名称 | 类型 | 说明 |
---|---|---|
guard | NavigationGuardWithThis <undefined > | 导航守卫添加 |
Returns
fn
▸ (): void
添加一个在任何导航之前执行的导航守卫。 返回一个删除已注册守卫的函数。
Returns
void
beforeResolve
▸ beforeResolve(guard
): () => void
添加一个在导航即将被解析之前执行的导航守卫。 在此状态下,已获取所有组件并且其他导航守卫已成功。 返回一个删除已注册守卫的函数。
Example
router.beforeResolve(to => {
if (to.meta.requiresAuth && !isAuthenticated) return false
})
Parameters
名称 | 类型 | 说明 |
---|---|---|
guard | NavigationGuardWithThis <undefined > | 导航守卫添加 |
Returns
fn
▸ (): void
添加一个在导航即将被解析之前执行的导航守卫。 在此状态下,已获取所有组件并且其他导航守卫已成功。 返回一个删除已注册守卫的函数。
Example
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
go
▸ go(delta
): void
允许您在历史中向前或向后移动。 调用 history.go()
。
Parameters
名称 | 类型 | 说明 |
---|---|---|
delta | number | 您要移动到的历史记录中相对于当前页面的位置 |
Returns
void
hasRoute
▸ hasRoute(name
): boolean
检查是否存在具有给定名称的路由
Parameters
名称 | 类型 | 说明 |
---|---|---|
name | RouteRecordName | 要检查的路由名称 |
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
名称 | 类型 | 说明 |
---|---|---|
to | RouteLocationRaw | 要导航到的路线位置 |
Returns
Promise
<undefined
| void
| NavigationFailure
>
removeRoute
▸ removeRoute(name
): void
按名称删除现有路线。
Parameters
名称 | 类型 | 说明 |
---|---|---|
name | RouteRecordName | 要删除的路由名称 |
Returns
void
replace
▸ replace(to
): Promise
<undefined
| void
| NavigationFailure
>
通过替换历史堆栈中的当前条目,以编程方式导航到新 URL。
Parameters
名称 | 类型 | 说明 |
---|---|---|
to | RouteLocationRaw | 要导航到的路线位置 |
Returns
Promise
<undefined
| void
| NavigationFailure
>
resolve
▸ resolve(to
, currentLocation?
): RouteLocation
& { href
: string
}
返回路由位置 的规范化版本。 还包括一个包含任何现有base
的href
属性。 默认情况下,使用的 currentLocation
是 router.currentRoute
并且应该只在高级用例中被覆盖。
Parameters
名称 | 类型 | 说明 |
---|---|---|
to | RouteLocationRaw | 要解析的原始路线位置 |
currentLocation? | RouteLocationNormalizedLoaded | 要解析的可选当前位置 |
Returns
RouteLocation
& { href
: string
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论