• Vue路由介绍及使用


    一、单页应用程序介绍

    1.概念

    单页应用程序:SPA【Single Page Application】是指所有的功能都在一个html页面上实现,当切换不同的功能时,页面不会进行刷新,类似Ajax请求,但请求地址会发生部分变化。

    2.具体示例

    单页应用网站: 网易云音乐 https://music.163.com/

    多页应用网站:京东 https://jd.com/

    3.单页应用 VS 多页面应用

    在这里插入图片描述

    单页应用类网站:系统类网站 / 内部网站 / 文档类网站 / 移动端站点

    多页应用类网站:公司官网 / 电商类网站

    二、路由介绍

    1.思考

    单页面应用程序,之所以开发效率高,性能好,用户体验好

    最大的原因就是:页面按需更新

    在这里插入图片描述

    比如当点击【发现音乐】和【关注】时,只是更新下面部分内容,对于头部是不更新的

    要按需更新,首先就需要明确:访问路径组件的对应关系!

    访问路径 和 组件的对应关系如何确定呢? 路由

    2.路由的介绍

    生活中的路由:设备和ip的映射关系

    在这里插入图片描述

    Vue中的路由:路径和组件映射关系

    在这里插入图片描述

    3.总结

    • 什么是路由
    • Vue中的路由是什么

    三、路由的基本使用

    1.目标

    认识插件 VueRouter,掌握 VueRouter 的基本使用步骤

    2.作用

    修改地址栏路径时,切换显示匹配的组件

    3.说明

    Vue 官方的一个路由插件,是一个第三方包

    4.官网

    https://v3.router.vuejs.org/zh/

    5.VueRouter的使用(5+2)

    固定5个固定的步骤(不用死背,熟能生巧)

    1. 下载 VueRouter 模块到当前工程,版本3.6.5
      注意vue2下载3,vue3下载4

      yarn add vue-router@3.6.5
      
      • 1
    2. main.js中引入VueRouter

      import VueRouter from 'vue-router'
      
      • 1
    3. 安装注册

      Vue.use(VueRouter)
      
      • 1
    4. 创建路由对象

      const router = new VueRouter()
      
      • 1
    5. 注入,将路由对象注入到new Vue实例中,建立关联

      new Vue({
        render: h => h(App),
        router:router
      }).$mount('#app')
      
      
      • 1
      • 2
      • 3
      • 4
      • 5

    当我们配置完以上5步之后 就可以看到浏览器地址栏中的路由 变成了 /#/的形式。表示项目的路由已经被Vue-Router管理了

    在这里插入图片描述

    6.代码示例

    main.js

    // 路由的使用步骤 5 + 2
    // 5个基础步骤
    // 1. 下载 v3.6.5
    // yarn add vue-router@3.6.5
    // 2. 引入
    // 3. 安装注册 Vue.use(Vue插件)
    // 4. 创建路由对象
    // 5. 注入到new Vue中,建立关联
    
    
    import VueRouter from 'vue-router'
    Vue.use(VueRouter) // VueRouter插件初始化
    
    const router = new VueRouter()
    
    new Vue({
      render: h => h(App),
      router
    }).$mount('#app')
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    7.两个核心步骤

    1. 创建需要的组件 (views目录),配置路由规则

      在这里插入图片描述

    2. 配置导航,配置路由出口(路径匹配的组件显示的位置)

      App.vue

      
      
      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 7
      • 8

    8.总结

    1. 如何实现 路径改变,对应组件 切换,应该使用哪个插件?
    2. Vue-Router的使用步骤是什么(5+2)?

    四、组件的存放目录问题

    注意: .vue文件 本质无区别

    1.组件分类

    .vue文件分为2类,都是 .vue文件(本质无区别)

    • 页面组件 (配置路由规则时使用的组件)
    • 复用组件(多个组件中都使用到的组件)

    在这里插入图片描述

    2.存放目录

    分类开来的目的就是为了 更易维护

    1. src/views文件夹

      页面组件 - 页面展示 - 配合路由用

    2. src/components文件夹

      复用组件 - 展示数据 - 常用于复用

    五、路由的封装抽离

    问题:所有的路由配置都在main.js中合适吗?

    目标:将路由模块抽离出来。 好处:拆分模块,利于维护
    在这里插入图片描述

    路径简写:

    脚手架环境下 @指代src目录,可以用于快速引入组件

    import Vue from 'vue'
    
    import VueRouter from 'vue-router'
    import MyFriend from '@/views/MyFriend.vue'
    import MyFind from '@/views/MyFind.vue'
    import MyMusic from '@/views/MyMusic.vue'
    
    Vue.use(VueRouter)
    
    const router = new VueRouter({
      routes: [
        { path: '/find', component: MyFind },
        { path: '/friend', component: MyFriend },
        { path: '/music', component: MyMusic }
      ]
    });
    
    export default router
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
  • 相关阅读:
    (未解决)执行git rebase提示:Current branch xxx is up to date.
    【Java实战】大厂都是怎样进行单元测试的
    嵌入式FreeRTOS学习六,FreeRTOS中CPU寄存器与RAM内存和Flash之间的数据传输,以及栈空间的作用
    从安卓转到Java开发,我吃透了这份pdf,终于4面拿下美团offer!给你们看看或许有帮助
    【食品加工技术】第五章 烘烤食品加工技术 笔记
    基于springboot实现医院急诊平台系统项目【项目源码】
    软考高级架构师下篇-15嵌入式系统架构设计的理论
    IDEA控制台中文乱码
    营丘福稻品牌山东大米 国稻种芯·中国水稻节:淄博高青招牌
    解决No PSK available. Unable to resume编译报错的问题
  • 原文地址:https://blog.csdn.net/m0_53951384/article/details/134267463