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

Vue中路由的使用

目录

1 作用

2 使用方法

2.1 安装路由

2.2 创建路由并导出

2.3 在应用实例中使用vue-router

2.4 声明router-view,展示组件内容

2.5 页面跳转

3 补充内容-子路由


1 作用

能够按不同的访问路径,展示不同组件的内容。

2 使用方法

2.1 安装路由

在项目的终端或者路径下的命令提示符窗口中,写入以下命令(其中的4是指版本为4):

npm install vue-router@4

2.2 创建路由并导出

①在src目录下创建一个router文件夹,再在其中创建index.js文件

注:当然,其它名字.js也可以,只不过2.3的导入需要额外书写内容

②向index.js中书写以下格式内容:

//引入依赖
import { createRouter, createWebHistory } from 'vue-router'//导入组件
//xx和yy可以替换为实际的内容
import XxVue from '@/views/Xx.vue'
import YyVue from '@/views/Yy.vue'//定义路由关系
const routes = [//这样就可以通过http://localhost:5173/Xx访问Xx.vue的内容了{ path: '/Xx', component: XxVue},//同理,可以访问Yy.vue。并将其作为默认页面{ path: '/', component: YyVue}
]//定义路由
const router = createRouter({//history是路由模式,还有一种哈希方式(createWebHashHistory),配置方式自行探索history: createWebHistory(),routes: routes
})//导出路由
export default router

2.3 在应用实例中使用vue-router

在main.js中引入如下内容:

//这里只展示主要内容,其它内容...
import { createApp } from 'vue'
import App from './App.vue'//导入路由,默认导入index.js
//如果不是index.js,而是xx.js,则from '@/router/xx.js'
import router from '@/router'const app = createApp(App)
app.use(router)
app.mount('#app')

2.4 声明router-view,展示组件内容

在App.vue中的<template>内添加如下,进去的默认页面就是Yy.vue了:

<template><router-view></router-view>
</template>

2.5 页面跳转

如果想在某个函数执行之后,想跳转某个页面,可以如下使用:

①在该函数所在的页面导入,如xx.vue:

import {useRouter} from 'vue-router'

②找到该函数,并向其中添加如下内容:

const xx = async() => {//其它内容...//router.push跳转到指定页面,这里是默认页面router.push('/')
}

3 补充内容-子路由

如下图所示,App.vue使用的叫一级路由,X.vue使用的就属于二级路由(X->Z,X->H),其中二级路由就可以称为一级路由的子路由,:

如element-ui中的例子所示,要在当前页面访问的Option1就属于子路由:

配置如下,在index.js中新增一些内容:

//引入依赖
import { createRouter, createWebHistory } from 'vue-router'//导入组件
//xx和yy可以替换为实际的内容
import XxVue from '@/views/Xx.vue'
import YyVue from '@/views/Yy.vue'
import ZzVue from '@/views/Zz.vue'
import HhVue from '@/views/Hh.vue'//定义路由关系
const routes = [//这样就可以通过http://localhost:5173/Xx访问Xx.vue的内容了{ path: '/Xx', component: XxVue},//同理,可以访问Yy.vue。并将其作为默认页面//redirect:'/func/xyz'是将Zz.vue页面作为进入'/'默认的访问的页面//children:子路由{ path: '/', component: YyVue,redirect:'/func/xyz', children:[{ path: '/func/xyz', component: ZzVue},{ path: '/func/zxy', component: HhVue},]}
]//定义路由
const router = createRouter({//history是路由模式,还有一种哈希方式(createWebHashHistory),配置方式自行探索history: createWebHistory(),routes: routes
})//导出路由
export default router

相关文章:

  • MyBatisPlus之分页查询及Service接口运用
  • 2023 年,我患上了 AI 焦虑症!
  • 百面嵌入式专栏(面试题)进程管理相关面试题1.0
  • 详细讲解ES6箭头函数语法(附Demo)
  • 中科大计网学习记录笔记(八):FTP | EMail
  • JCIM | MD揭示PTP1B磷酸酶激活RtcB连接酶的机制
  • 鸿蒙harmony--TypeScript函数详解
  • 【EAI 016】VIMA: General Robot Manipulation with Multimodal Prompts
  • web 前端实现一个根据域名的判断 来显示不同的logo 和不同的标题
  • 没更新的日子也在努力呀,布局2024!
  • MOCO动量编码
  • Day31 贪心算法part01
  • PgSQL内核特性 - push-based pipeline 执行引擎
  • redis:七、集群方案(主从复制、哨兵模式、分片集群)和面试模板
  • 3.3 Binance_interface APP U本位合约行情-实时行情
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 《深入 React 技术栈》
  • 「前端早读君006」移动开发必备:那些玩转H5的小技巧
  • 【Under-the-hood-ReactJS-Part0】React源码解读
  • 【干货分享】SpringCloud微服务架构分布式组件如何共享session对象
  • angular2 简述
  • Consul Config 使用Git做版本控制的实现
  • cookie和session
  • create-react-app项目添加less配置
  • CSS3 变换
  • docker容器内的网络抓包
  • Docker下部署自己的LNMP工作环境
  • git 常用命令
  • golang 发送GET和POST示例
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • JAVA 学习IO流
  • java2019面试题北京
  • JSDuck 与 AngularJS 融合技巧
  • Laravel5.4 Queues队列学习
  • Mysql5.6主从复制
  • Redis字符串类型内部编码剖析
  • SAP云平台里Global Account和Sub Account的关系
  • SpringCloud(第 039 篇)链接Mysql数据库,通过JpaRepository编写数据库访问
  • 大型网站性能监测、分析与优化常见问题QA
  • 飞驰在Mesos的涡轮引擎上
  • 高度不固定时垂直居中
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 基于Javascript, Springboot的管理系统报表查询页面代码设计
  • 日剧·日综资源集合(建议收藏)
  • 学习笔记TF060:图像语音结合,看图说话
  • 硬币翻转问题,区间操作
  • $var=htmlencode(“‘);alert(‘2“); 的个人理解
  • $分析了六十多年间100万字的政府工作报告,我看到了这样的变迁
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)spring boot北京冬奥会志愿者报名系统 毕业设计 150947
  • (附源码)springboot车辆管理系统 毕业设计 031034
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (三维重建学习)已有位姿放入colmap和3D Gaussian Splatting训练
  • (十三)Flask之特殊装饰器详解