路由封装,连接导航router-link

路由的封装抽离:

所有路由配置堆在main.js中不合适,需将路由模块抽离出来,以便维护

将与路由相关信息提取到src文件夹下的router文件夹下的index.js文件中

在main.js中就只需要导入当前路由,并且注入到当前实例中,其他与路由相关信息全剪切到index.js中

 

// index.js// 路由的使用步骤 5+2
//  1.下载 v3.6.5
// 2.引入
// 3.安装注册Vue.use(Vue插件)
// 4.创建路由对象
// 5.注入到new Vue中,建立关联// 2个核心步骤
// 1.建组件(views目录),配规则
// 2.准备导航链接,配置路由出口(匹配的组件所展示的位置)import Find from '@/views/Find.vue'
import My from '@/views/My.vue'
import Friend from '../views/Friend.vue'import Vue from 'vue' //原本在main.js中已经导入了vue,所以VueRouter初始化用到vue不报错,但是这里没有导入vue,插件初始化又用到了,所以需要先导入
import VueRouter from 'vue-router'
Vue.use(VueRouter) //VueRouter插件初始化
const router = new VueRouter({  //创建路由对象//routes 配置路由规则//route 一条路由规则就是一个对象 {path:路径,component:组件}routes: [{ path: '/find', component: Find },{ path: '/my', component: My },{ path: '/friend', component: Friend },]
})
export default router //因为路由对象要在main.js中使用,所以需要导出,导出路由对象
  1. 首先因为将原本的信息从main.js中调到了router文件夹下的index.js中,所以组件相对路径不再是 ./ 而变成了 ../  。这样看要考虑组件相对路径比较麻烦,直接使用@,指向的是src目录
  2. 在进行VueRouter插件初始化时使用到了Vue,在main.js中已经导入了Vue,所以能直接使用Vue.use(VueRouter),而到了index.js中需要重新导入。imort Vue from 'vue'
  3. 创建的路由对象需要在main.js中进行导入,所以在index.js中需要进行export default router导出,然后在main.js中 import router from './router/index.js'
  4. 补充: . /是从当前文件的同级进行查找其他文件, . . /是从当前文件上一级进行查找其他文件

 

// main.js
import Vue from 'vue'
import App from './App.vue'Vue.config.productionTip = false// // 全局注册指令
// // 第一个参数是指令名,第二个参数是指令的配置项(在配置项里可以写指令相关的钩子,相关的生命周期函数)
// Vue.directive('focus', {
//   // inserted会在指令所在元素被插入到页面时触发
//   inserted(el) {
//     // el就是指令所绑定的元素
//     el.focus()//   }
// })import router from './router/index.js'
new Vue({render: h => h(App),// router:router //将路由对象注入到Vue实例中(冒号后是路由对象,简写的话键值要一样)router
}).$mount('#app')

声明式导航 - 导航链接


 

  • 虽然代码中写的是router-link标签,但是实际渲染的时候是a标签。
  •  点击“我的音乐”链接的时候,页面渲染自动出现两个类
  • 点击到哪个链接,哪个链接就会加上这两个类
  • 为类添加背景色,点击哪个链接,哪个链接就会高亮显示

 

声明式导航router-link   -  两个类名的区别

  • router-link-exact-active 精确匹配   to="/my"仅仅可以匹配 /my
  • router-link-active模糊匹配(用的多)  to="/my" 可以匹配 /my  /my/a   /my/b  ...以my开头的即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/63593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

工业4.0下的IT网络与OT网络

https://zhuanlan.zhihu.com/p/498984722 随着“中国制造2025”的深入推进,制药行业以手工为主的传统生产方式正在被以“工业4.0 ”为核心的自动化生产方式逐步替代。 为了实现生产自动化,很多制药企业都引入了由PLC(可编程逻辑控制器 &am…

Ubuntu压缩打包解压

ubuntu压缩打包 上图,压缩当前目录svn 为svn.tar.gaz,解压后再当前解压目录生成svn文件 在Ubuntu中,你可以使用tar命令来创建一个压缩包,或者使用zip命令来创建一个.zip压缩文件。以下是两种常见的压缩方法: 下图&am…

Master EDI 项目需求分析

Master Electronics 通过其全球分销网络,支持多种采购需求,确保能够为客户提供可靠的元件供应链解决方案,同时为快速高效的与全球伙伴建立合作,Master 选择通过EDI来实现与交易伙伴间的数据传输。 EDI为交易伙伴之间建立了一个安…

人脸识别之Python的人工智能研究(附学习资源)

1. 引言:人脸识别的意义与挑战 人脸识别技术已经在多个领域得到了广泛应用,包括手机解锁、公共安全监控、社交媒体、人机交互等。这项技术的普及不仅提高了生活的便利性,也为社会安全提供了有效的支持。然而,随着人脸识别技术的不…

时频转换 | Matlab梅尔频谱图Mel spectrogram一维数据转二维图像方法

目录 基本介绍程序设计参考资料获取方式 基本介绍 时频转换 | Matlab梅尔频谱图Mel spectrogram一维数据转二维图像方法 程序设计 clear clc % close all load 130.mat % 导入数据 x X130_DE_time; % 本数据只选择5120个点进行分析 x x(1:120000,:); fs 12000 ; % 数据…

Milvus向量数据库03-搜索理论

Milvus向量数据库03-搜索理论 1-ANN搜索 通过 k-最近邻(kNN)搜索可以找到一个查询向量的 k 个最近向量。kNN 算法将查询向量与向量空间中的每个向量进行比较,直到出现 k 个完全匹配的结果。尽管 kNN 搜索可以确保准确性,但十分耗…

STM32 出租车计价器系统设计(一) 江科大源码改写

STM32 出租车计价器系统设计 功能目标 驱动步进电机模拟车轮旋转,并实现调速功能。 设置车轮周长和单价,检测车轮转速和运转时间。 计算并显示行驶里程和价格。 硬件材料 28BYJ48 五线四相步进电机和 ULN2003 驱动板模块 测速传感器模块 嵌入式小系统…

顶顶通电话机器人开发接口对接大语言模型之实时流TTS对接介绍

大语言模型一般都是流式返回文字,如果等全部文字返回了一次性去TTS,那么延迟会非常严重,常用的方法就是通过标点符号断句,返回了一句话就提交给TTS。随着流TTS的出现,就可以直接把大模型返回的文字灌给流TTS&#xff0…

问题清除指南|AEROBLADE论文复现相关要点总结

前言:本篇博客总结本人在复现 CVPR 2024 论文 AEROBLADE 过程中遇到的一些问题及解决方案。 注:仅仅使用了论文github源码中的Quickstart部分。 论文链接🔗:AEROBLADE: Training-Free Detection of Latent Diffusion Images Using…

Qt初识_对象树

个人主页:C忠实粉丝 欢迎 点赞👍 收藏✨ 留言✉ 加关注💓本文由 C忠实粉丝 原创 Qt初识_对象树 收录于专栏【Qt开发】 本专栏旨在分享学习Qt的一点学习笔记,欢迎大家在评论区交流讨论💌 目录 什么是对象树 为什么要引…

排序算法(3):插入排序

问题 排序 [30, 24, 5, 58, 18, 36, 12, 42, 39] 插入排序 插入排序将序列分为已排序和未排序两部分,每次从未排序部分取出第一个元素,插入到已排序部分的适当位置。重复此过程直到所有元素排序完成。 图解 初始化第一个元素为已排序部分&#xff0…

Java版-图论-最小生成树-Kruskal算法

实现描述 为了造出一棵最小生成树,我们从最小边权的边开始,按边权从小到大依次加入,如果某次加边产生了环,就扔掉这条边,直到加入了 n-1 条边,即形成了一棵树。 实现代码 首选我们对所有的边&#xff0c…

深入解析 Spring Security —— 打造高效安全的权限管理体系

目录 前言1. 初识 Spring Security1.1 Spring Security 的两大核心功能1.2 Spring Security 的主要特点 2. 配置 Spring Security2.1 配置类概述2.2 基础配置示例2.3 示例解析 3. Spring Security 的进阶功能3.1 自定义用户服务3.2 注解式权限控制3.3 动态权限控制 4. 实战应用…

JetBrains IDE(IDEAWebStorm)配置GitHub Copilot

关于 GitHub Copilot 和 JetBrains IDE GitHub Copilot 在编写代码时提供 AI 对程序员的自动完成样式的建议。 有关详细信息,请参阅“关于 GitHub Copilot Individual”。 如果使用 JetBrains IDE,可以直接在编辑器中查看并合并来自 GitHub Copilot 的…

OLLAMA+FASTGPT+M3E 大模型本地化部署手记

目录 1.安装ollama 0.5.1 2.下载大模型 qwen2.5 3b 3.开启WSL 4.更新wsl 5.安装ubuntu 6.docker下载 6.1 修改docker镜像源 6.2 开启WSL integration 7.安装fastgpt 7.1 创建fastgpt文件夹 7.2 下载fastgpt配置文件 8.启动容器 9.M3E下载 9.1 下载运行命令 9.2…

Go的Gin比java的Springboot更加的开箱即用?

前言 隔壁组的云计算零零后女同事,后文简称 云女士 ,非说 Go 的 Gin 框架比 Springboot 更加的开箱即用,我心想在 Java 里面 Springboot 已经打遍天下无敌手,这份底蕴岂是 Gin 能比。 但是云女士突出一个执拗,非我要…

神经网络中的过拟合问题及其解决方案

目录 ​编辑 过拟合的定义与影响 过拟合的成因 1. 模型复杂度过高 2. 训练数据不足 3. 训练时间过长 4. 数据特征过多 解决方案 1. 数据增强 2. 正则化 3. Dropout 4. 提前停止 5. 减少模型复杂度 6. 集成学习 7. 交叉验证 8. 增加数据量 9. 特征选择 10. 使…

Pull down筛靶策略丨筛选药物与潜在靶蛋白之间相互作用的体外技术

小分子药靶筛选的Pull down实验是一种有效的筛选药物与潜在靶蛋白之间相互作用的体外技术。利用生物分子之间的亲和力原理,将生物素标记的小分子化合物固定在链霉亲和素的磁珠上,与蛋白裂解液进行孵育,孵育结束后与小分子结合的蛋白可以通过质…

Certimate自动化SSL证书部署至IIS服务器

前言:笔者上一篇内容已经部署好了Certimate开源系统,于是开始搭建部署至Linux和Windows服务器,Linux服务器十分的顺利,申请证书-部署证书很快的完成了,但是部署至Windows Server的IIS服务时,遇到一些阻碍&a…

UnityShaderLab 实现黑白着色器效果

实现思路:取屏幕像素的RGB值,将三个通道的值相加,除以一个大于值使颜色值在0-1内,再乘上一个强度值调节黑白强度。 在URP中实现需要开启Opaque Texture ShaderGraph实现: ShaderLab实现: Shader "Bl…