返回介绍

入门

基础

进阶

迁移

API 手册

接口

概览 overview

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

vue-router文档

TS 枚举

TS 接口

TS 类型别名

LocationQuery

RouterLink

createMemoryHistory

createMemoryHistory(base?): RouterHistory

创建一个基于内存的历史。该历史的主要目的是为了处理服务端渲染。它从一个不存在的特殊位置开始。用户可以通过调用 router.pushrouter.replace 将该位置替换成起始位置。

参数

名称类型默认值描述
basestring''所有 URL 的基础位置,默认为 '/'

返回值

RouterHistory

一个历史对象,可以传递给路由器构造函数。


createRouter

createRouter(options): Router

创建一个可以被 Vue 应用使用的 Router 实例。

参数

名称类型描述
optionsRouterOptionsrouter-options

返回值

Router


createWebHashHistory

createWebHashHistory(base?): RouterHistory

创建一个 hash 模式的历史。在没有主机的 web 应用 (如 file://) 或无法通过配置服务器来处理任意 URL 的时候非常有用。

示例

js
// 基于 https://example.com/folder
createWebHashHistory() // 给出一个 `https://example.com/folder#` 的 URL
createWebHashHistory('/folder/') // 给出一个 `https://example.com/folder/#` 的 URL
// 如果其基础位置提供了 `#`,则不会被 `createWebHashHistory` 添加
createWebHashHistory('/folder/#/app/') // 给出一个 `https://example.com/folder/#/app/` 的 URL
// 你应该避免这样做,因为它改变了原始的 URL 且破坏了复制 URL 的工作
createWebHashHistory('/other-folder/') // 给出一个 `https://example.com/other-folder/#` 的 URL

// 基于 file:///usr/etc/folder/index.html
// 对于没有 `host` 的位置,该 base 会被忽略
createWebHashHistory('/iAmIgnored') // 给出一个 `file:///usr/etc/folder/index.html#` 的 URL

参数

名称类型描述
base?string可选提供的基础位置。默认为 location.pathname + location.search。如果在 head 中有一个 <base> 标签,它的值会因此被忽略,但注意它会影响所有 history.pushState() 的调用,这意味着如果你使用一个 <base> 标签,它的 href必须与这个参数匹配 (忽略 # 后的任何东西)。

返回值

RouterHistory


createWebHistory

createWebHistory(base?): RouterHistory

创建一个 HTML5 历史。对于单页应用来说这是最常见的历史。

参数

名称类型
base?string

返回值

RouterHistory


isNavigationFailure

isNavigationFailure(error, type?): error is NavigationRedirectError

检查一个对象是否是 NavigationFailure

示例

js
import { isNavigationFailure, NavigationFailureType } from 'vue-router'

router.afterEach((to, from, failure) => {
  // 任何类型的导航失败
  if (isNavigationFailure(failure)) {
    // ...
  }
  // 重复的导航
  if (isNavigationFailure(failure, NavigationFailureType.duplicated)) {
    // ...
  }
  // 中止或取消的导航
  if (isNavigationFailure(failure, NavigationFailureType.aborted | NavigationFailureType.canceled)) {
    // ...
  }
})

参数

名称类型描述
errorany可能的 NavigationFailure
type?NAVIGATION_GUARD_REDIRECT可选的待检查类型

返回值

error is NavigationRedirectError

isNavigationFailure(error, type?): error is NavigationFailure

参数

名称类型
errorany
type?ErrorTypes | NavigationFailureType

返回值

error is NavigationFailure


loadRouteLocation

loadRouteLocation(route): Promise<RouteLocationNormalizedLoaded>

确保路由被加载,所以它可以作为一个 prop 传递给 <RouterView>

参数

名称类型描述
routeRouteLocationNormalized解析要加载的路由

返回值

Promise<RouteLocationNormalizedLoaded>


onBeforeRouteLeave

onBeforeRouteLeave(leaveGuard): void

添加一个导航守卫,不论当前位置的组件何时离开都会触发。类似于 beforeRouteLeave,但可以在任意组件中使用。当组件被卸载时,该守卫会被移除。

参数

名称类型描述
leaveGuardNavigationGuardnavigation-guard

返回值

void


onBeforeRouteUpdate

onBeforeRouteUpdate(updateGuard): void

添加一个导航守卫,不论当前位置何时被更新都会触发。类似于 beforeRouteUpdate,但可以在任何组件中使用。当组件被卸载时,该守卫会被移除。

参数

名称类型描述
updateGuardNavigationGuardnavigation-guard

返回值

void


useLink

useLink(props): Object

参数

名称类型
propsVueUseOptions<RouterLinkOptions>

返回值

Object

名称类型
hrefComputedRef<string\>
isActiveComputedRef<boolean>
isExactActiveComputedRef<boolean>
navigate(e: MouseEvent) => Promise<void | NavigationFailure>
routeComputedRef<RouteLocation & { href: string }>

useRoute

useRoute(): RouteLocationNormalizedLoaded

返回当前的路由地址。相当于在模板中使用 $route

返回值

RouteLocationNormalizedLoaded


useRouter

useRouter(): Router

返回路由器实例。相当于在模板中使用 $router

返回值

Router

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

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

发布评论

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