当前位置: 首页 > news >正文

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如下

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

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

<template><div><div class="footer_wrap"><!-- 1.router-link是什么?vue-router提供的全局组件,用于替换a标签2.router-link怎么用?<router-link to="/路径值"></router-link>必须传入to属性,指定路由路径值3.router-link好处?能跳转,能高亮(自带激活时的类名)            --><router-link to="/find">发现音乐</router-link><router-link to="/my">我的音乐</router-link><router-link to="/friend">朋友</router-link></div><div class="top"><!-- 路由出口(所匹配的组件展示的位置) --><router-view></router-view></div></div>
</template><script>
export default {};
</script><style>
/* router-link 会自动给当前导航添加两个类名 区别 */
/*  1. router-link-active 模糊匹配(用的多) to='/find => 地址栏/find  /find/one  /find/two *//*  2. router-link-exact-active  精确匹配 to='/find => 地址栏/find */
.footer_wrap a.active {background-color: red;
}body {margin: 0;padding: 0;
}
.footer_wrap {position: relative;left: 0;top: 0;display: flex;width: 100%;text-align: center;background-color: #333;color: #ccc;
}
.footer_wrap a {flex: 1;text-decoration: none;padding: 20px 0;line-height: 20px;background-color: #333;color: #ccc;border: 1px solid black;
}
.footer_wrap a:hover {background-color: #555;
}</style>

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 可视化基础的设计四大原则
  • OpenCV图像滤波(5)二维卷积滤波函数filter2D()的使用
  • final finally finalize 区别?
  • 【多线程基础】指令、进程调度、了解计算机是如何进行工作的
  • TDengine Cloud 助力智源未来,引领能源管理革新
  • 服务器CPU架构有几种?分别应用到什么场景?有啥优缺点?
  • eBPF编程指南(一):eBPF初体验
  • 【网络】协议,OSI参考模型,局域网通信,跨网络通信
  • FFmpeg推流
  • 代码随想录算法训练营Day36||Leetcode1049. 最后一块石头的重量 II 、 494. 目标和 、 474.一和零
  • 【libevent多线程服务器】--UDP
  • 设计模式 - 适配器模式
  • PyCharm找不到Python了咋办
  • Pinterest:从 Druid 到 StarRocks,实现 6 倍成本效益比提升
  • Milvus 向量数据库进阶系列丨构建 RAG 多租户/多用户系统 (上)
  • CEF与代理
  • ECS应用管理最佳实践
  • EventListener原理
  • Git学习与使用心得(1)—— 初始化
  • IndexedDB
  • React组件设计模式(一)
  • spring cloud gateway 源码解析(4)跨域问题处理
  • Spring声明式事务管理之一:五大属性分析
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 基于MaxCompute打造轻盈的人人车移动端数据平台
  • 扑朔迷离的属性和特性【彻底弄清】
  • 算法系列——算法入门之递归分而治之思想的实现
  • 腾讯优测优分享 | 你是否体验过Android手机插入耳机后仍外放的尴尬?
  • 微信小程序填坑清单
  • ​configparser --- 配置文件解析器​
  • ​浅谈 Linux 中的 core dump 分析方法
  • !!java web学习笔记(一到五)
  • ## 1.3.Git命令
  • ######## golang各章节终篇索引 ########
  • #数学建模# 线性规划问题的Matlab求解
  • ${ }的特别功能
  • (BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等(1)
  • (javascript)再说document.body.scrollTop的使用问题
  • (二)十分简易快速 自己训练样本 opencv级联lbp分类器 车牌识别
  • (附源码)springboot建达集团公司平台 毕业设计 141538
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (黑马点评)二、短信登录功能实现
  • (十)【Jmeter】线程(Threads(Users))之jp@gc - Stepping Thread Group (deprecated)
  • (原創) 未来三学期想要修的课 (日記)
  • .net 写了一个支持重试、熔断和超时策略的 HttpClient 实例池
  • .Net的DataSet直接与SQL2005交互
  • .NET正则基础之——正则委托
  • @ModelAttribute使用详解
  • [10] CUDA程序性能的提升 与 流
  • [bzoj 3124][sdoi 2013 省选] 直径
  • [BZOJ 4129]Haruna’s Breakfast(树上带修改莫队)
  • [C++]spdlog学习
  • [CareerCup] 12.3 Test Move Method in a Chess Game 测试象棋游戏中的移动方法
  • [Gradle] 在 Eclipse 下利用 gradle 构建系统