• VueRouter的使用


      路由的封装抽离:在src目录下新建router文件夹,router文件下新建index.js文件,在里面配置路由。好处:拆分模块,利于维护。

    一、5个基本步骤

    1.下载:下载VueRouter模块到当前工程。命令:npm i vue-router@3

    2.引入:

    import Vue from 'vue'

    import VueRouter from 'vue-router'

    3.安装注册:Vue.use(VueRouter)

    4.创建路由对象:const router = new VueRouter( )

    5.注入:将路由对象注入到new Vue实例中,建立关联。

    new Vue({

      render: h => h(App),

      router

    }).$mount('#app')

    二、2个核心步骤

    1.创建需要的组件(views目录),配置路由规则(路径和组件的匹配关系)。

    2.配置导航,配置路由出口 router-view (路径对应的组件显示的位置)

    router 下的index.js如下

    1. // @/views 绝对路径 : 基于 @ 指代 src 目录,从 src 目录出发找组件
    2. import Find from '@/views/Find'
    3. import My from '@/views/My'
    4. import Friend from '@/views/Friend'
    5. import Vue from 'vue'
    6. import VueRouter from 'vue-router'
    7. //VueRouter插件初始化
    8. Vue.use(VueRouter)
    9. //创建路由对象
    10. const router = new VueRouter({
    11. //路由规则们,数组包对象。一条路由规则{path:路径,component:组件}
    12. routes: [
    13. { path: '/find', component: Find },
    14. { path: '/my', component: My },
    15. { path: '/friend', component: Friend }
    16. ],
    17. //自定义类名
    18. linkActiveClass: 'active', //配置模糊匹配的类名
    19. linkExactActiveClass: 'exact-active' //配置精确匹配的类名
    20. })
    21. export default router

    App.vue如下(简单介绍 router-link )

    1. <template>
    2. <div>
    3. <div class="footer_wrap">
    4. <!--
    5. 1.router-link是什么?
    6. vue-router提供的全局组件,用于替换a标签
    7. 2.router-link怎么用?
    8. <router-link to="/路径值"></router-link>
    9. 必须传入to属性,指定路由路径值
    10. 3.router-link好处?
    11. 能跳转,能高亮(自带激活时的类名)
    12. -->
    13. <router-link to="/find">发现音乐</router-link>
    14. <router-link to="/my">我的音乐</router-link>
    15. <router-link to="/friend">朋友</router-link>
    16. </div>
    17. <div class="top">
    18. <!-- 路由出口(所匹配的组件展示的位置) -->
    19. <router-view></router-view>
    20. </div>
    21. </div>
    22. </template>
    23. <script>
    24. export default {};
    25. </script>
    26. <style>
    27. /* router-link 会自动给当前导航添加两个类名 区别 */
    28. /* 1. router-link-active 模糊匹配(用的多)
    29. to='/find => 地址栏/find /find/one /find/two */
    30. /* 2. router-link-exact-active 精确匹配
    31. to='/find => 地址栏/find */
    32. .footer_wrap a.active {
    33. background-color: red;
    34. }
    35. body {
    36. margin: 0;
    37. padding: 0;
    38. }
    39. .footer_wrap {
    40. position: relative;
    41. left: 0;
    42. top: 0;
    43. display: flex;
    44. width: 100%;
    45. text-align: center;
    46. background-color: #333;
    47. color: #ccc;
    48. }
    49. .footer_wrap a {
    50. flex: 1;
    51. text-decoration: none;
    52. padding: 20px 0;
    53. line-height: 20px;
    54. background-color: #333;
    55. color: #ccc;
    56. border: 1px solid black;
    57. }
    58. .footer_wrap a:hover {
    59. background-color: #555;
    60. }
    61. </style>

  • 相关阅读:
    腾讯云轻量应用服务器性能差吗?为什么便宜?
    ext文件系统
    设计模式:策略模式
    Windows 下载编译chromium源码
    教师请假条格式范文
    cross-env: 如何使用umi配置多环境打包
    神经网络训练的一般步骤,神经网络的训练与测试
    每天一个设计模式之解释器模式(Interpreter Pattern)
    宇凡微发布2.4G合封芯片YE08,融合高性能MCU与射频收发功能
    分布式存储系统之Ceph集群部署
  • 原文地址:https://blog.csdn.net/qq_64536562/article/details/141096457