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

Vue--Router(路由)

目录

一 Router(路由)

1.作用

2.实现步骤

3.注意


一 Router(路由)

1.作用

        Router又叫做路由,简单来说,就是用来实现vue的页面之间跳转的。

        我们都知道,使用vue必然会涉及到很多个组件,也就是页面,而页面之间肯定需要切换,比如我点击一个按钮就需要切换另外一个组件(页面),这就是路由的作用。

        而且我们以前学过重定向等,也是页面跳转,我觉得区别就在于,路由是局部的页面切换。就是不会改变url重新加载一个网页,而是在一个网页上面显示不同的组件,你甚至可以控制这个新的页面切换在哪个位置。

2.实现步骤

 ①首先你需要创建一个vue/vite项目,然后在终端下载router

# npm安装
npm i vue-router
#yarn安装
yarn add vue-router

下载完成后,你可以在你的项目的node_modules目录下面看见vue-router目录:

② 你需要在src目录下面创建一个router文件夹,再在router文件夹下面创建一个index.js文件

③ 然后你需要在index.js文件中配置路由的信息,包括导入,配置组件路径,暴露路由等步骤,这这里我将简化后的模板总结出来了,可以直接导入按需求做修改

//vue-router配置文件
//1.从vue-router导入createRouter() 创建路由器对象
import { createRouter, createWebHistory, createWebHashHistory} from 'vue-router'//2.配置路由规则: 给组件绑定url
const routes = [//默认路由{path:'/',//重定向redirect:'/index'},{path: "/index",component: ()=>import('../views/index.vue'),name:'indexPage',children:[  //配置子级路径{// 这是resful风格的url写法path:'/infor/:id' , component:  ()=>import('../views/information.vue'),name:'infor',},]},//配置404的组件{path:'/:pathMatch(.*)*', component:  ()=>import('../views/NotFound.vue'),name:'notFound',}
];//3.创建路由器对象
const router = createRouter({routes,  //路由规则history:  createWebHashHistory(),linkActiveClass:'active'});
//4. 把路由器对象暴露出去  其他组件文件,导入
export default router;

其实1,3,4步都是一样,就第二步配置路由需要按照自己修改,所以这里解释一下这里面的信息:

④ 在main.js文件里面导入router并且挂载。

⑤ 我们在src目录下面创建一个views文件夹,在下面创建我们需要的vue组件

 ⑥ 最后我们就可以按照需求通过路由实现各种组件的切换

3.注意

1.当我们使用resful路径去定位路由的时候,需要注意以下几点(含参数):

① 这是定位的写法:

② 配置路由的信息,path需要这样写:

③ 我们在对应的组件上,获取传来的id使用如下方式(区别传统路径获取id方式):

2.当我们使用传统带参数路径去定位路由的时候,需要注意以下几点(区别resful): 

① 这是定位的写法:

② 配置路由的信息,path需要这样写:

③ 我们在对应的组件上,获取传来的id使用如下方式(区别resful路径获取id方式):

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Scrapy 核心组件之Spiders组件的使用
  • java在继承的继承上添加新的属性和方法
  • 通过MobaXterm工具远程连接可视化服务器桌面并操控
  • [React 进阶系列] useSyncExternalStore hook
  • 华为OD机考题(HJ90 合法IP)
  • Laravel Passport:API认证的瑞士军刀
  • python 内置类型简述(4) —— 集合映射类(set、frozenset、dict)
  • 蓝凌OA 文件Copy导致远程代码执行漏洞复现(XVE-2023-18344)
  • MyBatis的原理?
  • Vim(Vi IMproved)
  • 2.设计模式--创建者模式--单例设计模式
  • docker 容器内部UI映射host
  • STM32智能工业自动化监控系统教程
  • 科普文:详解23种设计模式
  • 代码随想录——分割等和子集(Leetcode LCR 101)
  • [译]如何构建服务器端web组件,为何要构建?
  • 【知识碎片】第三方登录弹窗效果
  • CentOS 7 防火墙操作
  • ComponentOne 2017 V2版本正式发布
  • ECS应用管理最佳实践
  • Github访问慢解决办法
  • HTTP那些事
  • JS基础篇--通过JS生成由字母与数字组合的随机字符串
  • k个最大的数及变种小结
  • Linux编程学习笔记 | Linux IO学习[1] - 文件IO
  • Unix命令
  • 检测对象或数组
  • 如何利用MongoDB打造TOP榜小程序
  • 如何使用Mybatis第三方插件--PageHelper实现分页操作
  • 为视图添加丝滑的水波纹
  • 找一份好的前端工作,起点很重要
  • mysql面试题分组并合并列
  • 仓管云——企业云erp功能有哪些?
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • #android不同版本废弃api,新api。
  • #git 撤消对文件的更改
  • $$$$GB2312-80区位编码表$$$$
  • (补充):java各种进制、原码、反码、补码和文本、图像、音频在计算机中的存储方式
  • (第二周)效能测试
  • (附源码)springboot电竞专题网站 毕业设计 641314
  • (附源码)springboot码头作业管理系统 毕业设计 341654
  • (介绍与使用)物联网NodeMCUESP8266(ESP-12F)连接新版onenet mqtt协议实现上传数据(温湿度)和下发指令(控制LED灯)
  • (免费领源码)Java#Springboot#mysql农产品销售管理系统47627-计算机毕业设计项目选题推荐
  • (未解决)macOS matplotlib 中文是方框
  • (原)记一次CentOS7 磁盘空间大小异常的解决过程
  • (转)【Hibernate总结系列】使用举例
  • (转)Unity3DUnity3D在android下调试
  • (转)详解PHP处理密码的几种方式
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • (转载)虚幻引擎3--【UnrealScript教程】章节一:20.location和rotation
  • **python多态
  • ..thread“main“ com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.3.1
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .form文件_一篇文章学会文件上传
  • .gitignore文件_Git:.gitignore