前端开发

Vue Router Api参考(三)

2019-03-14  本文已影响0人  李轻舟

Router 实例属性

router.app

router.mode

router.currentRoute

Router 实例方法

router.beforeEach

router.beforeResolve

router.afterEach

函数签名:

router.beforeEach((to, from, next) => {
  /* must call `next` */
})

router.beforeResolve((to, from, next) => {
  /* must call `next` */
})

router.afterEach((to, from) => {})

增加全局的导航守卫。参考导航守卫

在 2.5.0+ 这三个方法都返回一个移除已注册的守卫/钩子的函数。

router.push

router.replace

router.go

router.back

router.forward

函数签名:

router.push(location, onComplete?, onAbort?)
router.replace(location, onComplete?, onAbort?)
router.go(n)
router.back()
router.forward()

动态的导航到一个新 URL。参考编程式导航

router.getMatchedComponents

函数签名:

const matchedComponents: Array<Component> = router.getMatchedComponents(location?)

返回目标位置或是当前路由匹配的组件数组 (是数组的定义/构造类,不是实例)。通常在服务端渲染的数据预加载时时候。

router.resolve

函数签名:

const resolved: {
  location: Location;
  route: Route;
  href: string;
} = router.resolve(location, current?, append?)

解析目标位置 (格式和 <router-link>to prop 一样)。

router.addRoutes

函数签名:

router.addRoutes(routes: Array<RouteConfig>)

动态添加更多的路由规则。参数必须是一个符合 routes 选项要求的数组。

router.onReady

函数签名:

router.onReady(callback, [errorCallback])

该方法把一个回调排队,在路由完成初始导航时调用,这意味着它可以解析所有的异步进入钩子和路由初始化相关联的异步组件。

这可以有效确保服务端渲染时服务端和客户端输出的一致。

第二个参数 errorCallback 只在 2.4+ 支持。它会在初始化路由解析运行出错 (比如解析一个异步组件失败) 时被调用。

router.onError

函数签名:

router.onError(callback)

注册一个回调,该回调会在路由导航过程中出错时被调用。注意被调用的错误必须是下列情形中的一种:

路由对象

一个路由对象 (route object) 表示当前激活的路由的状态信息,包含了当前 URL 解析得到的信息,还有 URL 匹配到的路由记录 (route records)

路由对象是不可变 (immutable) 的,每次成功的导航后都会产生一个新的对象。

路由对象出现在多个地方:

路由对象属性

组件注入

注入的属性

通过在 Vue 根实例的 router 配置传入 router 实例,下面这些属性成员会被注入到每个子组件。

增加的组件配置选项

上一篇 下一篇

猜你喜欢

热点阅读