vue-router相关知识记录

440 阅读2分钟

前言

Vue-router 是 Vue.js 官方的路由插件,它和 vue.js 是深度集成的,适合用于构建单页面应用,vue 的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起来。


一、Vue-router 是什么,原理是什么?

Vue-router 是 Vue.js 官方的路由插件,它和 vue.js 是深度集成的,适合用于构建单页面 应用,vue 的单页面应用是基于路由和组件的,路由用于设定访问路径,并将路径和组件映射起 来。

原理:传统的页面应用,是用一些超链接来实现页面切换和跳转的,在 vue-router 单页面应用中, 则是路径之间的切换,也就是组件的切换,路由模块的本质 就是建立起 url 和页面之间的映射关 系。

更新视图但不重新请求页面是前端路由原理的核心之一,目前在浏览器环境中这一功能的 实现主要有两种方式:

  1. 利用 URL 中的 hash(“#”)
  2. 利用 History interface 在 HTML5 中新增的方法

二、路由中跳转的方式

1. 方式一

<router-link to="需要跳转到页面的路径">

2. 方式二

// 跳转到指定的 url,并在 history 中添加记录,点击回退返回到上一个页this.$router.push()

3. 方式三

// 跳转到指定的 url,但是 history 中不会添加记录,点击回退到上上个
页面
this.$router.replace()

4. 方式四

// 向前或者后跳转 n 个页面,n 可以是正数也可以是负数
this.$touter.go(n)

三、Vue-router 的钩子函数都有哪些?

关于 vue-router 中的钩子函数主要分为 3 类

1. 全局钩子函数

要包含 beforeEach

  • beforeEach 函数有三个参数,分别是
  • to:router 即将进入的路由对象
  • from:当前导航即将离开的路由
  • next:function,进行管道中的一个钩子,如果执行完了,则导航的状态就是 confirmed (确认的)否则为 false,终止导航

2. 单独路由独享组件

  • beforeEnter

3. 组件内钩子

  • beforeRouterEnter
  • beforeRouterUpdate
  • beforeRouterLeave

总结

enjoy everyday~