路由


路由

前端路由的概念与原理

  • 什么是路由

    • 路由(英文:router)就是对应关系

  • SPA 与前端路由

    • SPA 指的是一个 web 网站只有唯一的一个 HTML 页面,所有组件的展示与切换都在这唯一的一个页面内完成。 此时,不同组件之间的切换需要通过前端路由来实现。

    • 结论:在 SPA 项目中,不同功能之间的切换,要依赖于前端路由来完成!

  • 什么是前端路由

    • 通俗易懂的概念:Hash 地址组件之间的对应关系

  • 前端路由的工作方式

    • ① 用户点击了页面上的路由链接

    • ② 导致了 URL 地址栏中的 Hash 值发生了变化

    • 前端路由监听了到 Hash 地址的变化

    • ④ 前端路由把当前 Hash 地址对应的组件渲染都浏览器中

    • 结论:前端路由,指的是 Hash 地址组件之间对应关系

  • 实现简易的前端路由

vue-router 的基本用法

  • 什么是 vue-router

    • vue-router 是 vue.js 官方给出的路由解决方案。它只能结合 vue 项目进行使用,能够轻松的管理 SPA 项目 中组件的切换。

    • vue-router 的官方文档地址:https://router.vuejs.org/zh/

  • vue-router 安装和配置的步骤

    • ① 安装 vue-router 包

    • 创建路由模块

    • ③ 导入并挂载路由模块

    • ④ 声明路由链接占位符

    • 1、在项目中安装 vue-router

      • 在 vue2 的项目中,安装 vue-router 的命令如下:

    • 2、创建路由模块

      • src 源代码目录下,新建 router/index.js 路由模块,并初始化如下的代码:

    • 3、导入并挂载路由模块

      • 在 src/main.js 入口文件中,导入并挂载路由模块。示例代码如下:

    • 4、声明路由链接占位符

      • 在 src/App.vue 组件中,使用 vue-router 提供的声明路由链接和占位符:

  • 声明路由的匹配规则

    • 在 src/router/index.js 路由模块中,通过 routes 数组声明路由的匹配规则。示例代码如下:

vue-router 的常见用法

后台管理案例

  • 案例效果

  • 案例用到的知识点

    • 命名路由

    • 路由重定向

    • 导航守卫

    • 嵌套路由

    • 动态路由匹配

    • 编程式导航

总结

  • ① 能够知道如何在 vue 中配置路由

    • createRouter、app.use(router)

  • ② 能够知道如何使用嵌套路由

    • 通过 children 属性进行路由嵌套

  • ③ 能够知道如何实现动态路由匹配

    • 使用冒号声明参数项、this.$route.params、props: true

  • ④ 能够知道如何使用编程式导航

    • this.$router.push、this.$router.go

  • ⑤ 能够知道如何使用导航守卫

    • 路由实例.beforeEach((to, from, next) => { /* 必须调 next 函数 */ })