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

vue3路由跳转及传参

1.创建项目及路由

1.1 创建文件时记得勾选上vue-router,没有勾选也没有关系

// vue3安装命令
npm create vue@latest
// 以下选项可根据自己所需,进行选择,不懂就翻译
✔ Project name: … <your-project-name>
✔ Add TypeScript? … No / Yes
✔ Add JSX Support? … No / Yes
// 这里选Yes,自动配置路由
✔ Add Vue Router for Single Page Application development? … No / Yes
✔ Add Pinia for state management? … No / Yes
✔ Add Vitest for Unit testing? … No / Yes
✔ Add an End-to-End Testing Solution? … No / Cypress / Playwright
✔ Add ESLint for code quality? … No / Yes
✔ Add Prettier for code formatting? … No / YesScaffolding project in ./<your-project-name>...
Done.
// 进入项目目录
> cd <your-project-name>
// 初始化配置
> npm i
// 项目运行命令
> npm run dev

1.2 如果以上选择的都是No的话,可以自己手动安装vue-router

npm install vue-router

2.配置路由 

2.1 安装完成过后,配置路由

如果使用了1.1中的方法,直接进入router文件夹配置路由即可

如果之前没有配置路由,在src下创建router文件夹,例如:src/router/index.js

import { createRouter, createWebHistory } from 'vue-router'const routes = [// Home是父级{path: '/',name: 'Home',component: () => import('../views/home.vue'),// about是子级children: [{path: 'about',name: 'about',component: () => import('../views/about.vue'),}]},{path: '/login',name: 'Login',component: () => import('../views/login.vue')}
]const router = createRouter({history: createWebHistory(),routes
})export default router

2.2 在main.js里面需要的配置

import { createApp } from 'vue'
import './style.css'
import App from './App.vue'
import router from './router/index'createApp(App).use(router).mount('#app')

 2.3 在App.vue文件中配置占位符

<template>// 路由视图<router-view></router-view>
</template>

 3.路由跳转

路由跳转页面的方式

3.1 router-link跳转

<template><router-link to="./login">login</router-link>
</template>

3.2.1 useRouter跳转

<script setup>
import { useRouter } from "vue-router";
const router = useRouter()
const goto = () => {router.push('/login')// 或者这样写也可以// router.push({ path: '/login' })
}
</script>
<template><button @click="goto">跳转</button>
</template>

3.2.2 或者根据name名称跳转

<script setup>
import { useRouter } from "vue-router";
const router = useRouter()
const goto = () => {router.push({name:'Login'})
}
</script>
<template><button @click="goto">跳转</button>
</template>

4.路由传参

传参方式分别是:query和params

4.1 query传参

<script setup>
import { useRouter } from "vue-router";
const router = useRouter()
const goto = () => {router.push( {path: '/login',query:{val:'Hello World!'}})
</script>
<template><button @click="goto">跳转</button>
</template>

在另一个vue文件中接收

<template><h1>query参数--{{route.query.val}}</h1>
</template>
<script setup>
import { useRoute } from "vue-router";
const route=useRoute()
console.log(route.query.val);
</script>

4.2 params传参

在路由中配置动态路由

import { createRouter, createWebHistory } from 'vue-router'const routes = [............{path: '/login/:id',name: 'Login',component: () => import('../views/login.vue')}
]const router = createRouter({history: createWebHistory(),routes
})export default router

传入params参数 

<script setup>
import { useRouter } from "vue-router";
const router = useRouter()
const goto = () => {router.push( {path:'/login',params:{id:1}})
</script>
<template><button @click="goto">跳转</button>
</template>

接收params参数

<template><h1>params参数--{{route.params.id}}</h1>
</template>
<script setup>
import { useRoute } from "vue-router";
const route=useRoute()
console.log(route.params.id);
</script>

http://www.lryc.cn/news/262281.html

相关文章:

  • cesium 自定义贴图,shadertoy移植教程。
  • 引用阿里图标库,不知道对应的图标是什么,可在本地显示图标ui,再也不要担心刚来不知道公司图标对应的是什么了
  • HandlerMethodArgumentResolver用于统一获取当前登录用户
  • 记录 | mac打开终端时报错:login: /opt/homebrew/bin/zsh: No such file or directory [进程已完成]
  • anolisos8.8安装显卡+CUDA工具+容器运行时支持(containerd/docker)+k8s部署GPU插件
  • Golang 链表的创建和读取 小记
  • 实验记录:深度学习模型收敛速度慢有哪些原因
  • Arris VAP2500 list_mac_address未授权RCE漏洞复现
  • 【Jenkins】节点 node、凭据 credentials、任务 job
  • 华为OD机试 - 高效货运(Java JS Python C)
  • 基于python netmiko去ssh备份网络设备配置
  • 【CCF BDCI 2023】多模态多方对话场景下的发言人识别 Baseline 0.71 Slover 部分
  • 爬虫工作量由小到大的思维转变---<第十二章 Scrapy之sql存储与爬虫高效性的平衡艺术>
  • 修改Docker0和容器的地址
  • 弹性网络优化算法
  • [C语言]大小端及整形输出问题
  • C# 命令行参数解析库示例
  • 2020 年网络安全应急响应分析报告
  • Git----学习Git第一步基于 Windows 10 系统和 CentOS7 系统安装 Git
  • 爬虫 scrapy ——scrapy shell调试及下载当当网数据(十一)
  • Linux驱动(中断、异步通知):红外对射,并在Qt StatusBus使用指示灯进行显示
  • echarts地图的常见用法:基本使用、区域颜色分级、水波动画、区域轮播、给地图添加背景图片和图标、3d地图、飞线图
  • 进程间通讯-管道
  • 项目总结-自主HTTP实现
  • Java语言+二维数组+非递归实现五子棋游戏
  • WordCloud—— 词云
  • linux网络----UDP编程
  • [AI工具推荐]AiRestful智能API代码生成
  • Elasticsearch 8.10.0同义词API用法详解,支持同义词热更新
  • 深度学习之模型权重