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

vue3中如何实现路由导航跳转

在 Vue 3 里,$router 是 Vue Router 提供的实例,可用于路由导航。使用 $router 进行路径跳转时,路径的写法会依据路由的配置与导航方式而有所不同。以下为你详细介绍几种常见的情况:

1. 绝对路径跳转

绝对路径跳转意味着直接使用完整的路由路径来跳转。

代码示例
<template>
  <div>
    <!-- 点击按钮触发跳转 -->
    <button @click="goToHome">跳转到首页</button>
    <button @click="goToAbout">跳转到关于页</button>
  </div>
</template>

<script setup>
import { useRouter } from 'vue-router';

// 获取路由实例
const router = useRouter();

// 跳转到首页的方法
const goToHome = () => {
  router.push('/');
};

// 跳转到关于页的方法
const goToAbout = () => {
  router.push('/about');
};
</script>

2. 命名路由跳转

若在路由配置里给路由设置了名称,就可以使用命名路由来跳转,这种方式会让代码更具可读性与可维护性。

路由配置示例
import { createRouter, createWebHistory } from 'vue-router';
import Home from './views/Home.vue';
import About from './views/About.vue';

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: About
  }
];

const router = createRouter({
  history: createWebHistory(),
  routes
});

export default router;
代码示例
<template>
  <div>
    <!-- 点击按钮触发跳转 -->
    <button @click="goToHome">跳转到首页</button>
    <button @click="goToAbout">跳转到关于页</button>
  </div>
</template>

<script setup>
import { useRouter } from 'vue-router';

// 获取路由实例
const router = useRouter();

// 跳转到首页的方法
const goToHome = () => {
  router.push({ name: 'Home' });
};

// 跳转到关于页的方法
const goToAbout = () => {
  router.push({ name: 'About' });
};
</script>

3. 带参数的路由跳转

在某些情况下,你可能需要在跳转时传递参数,参数可以是查询参数(query)或者路径参数(params)。

查询参数跳转
<template>
  <div>
    <!-- 点击按钮触发跳转 -->
    <button @click="goToUser">跳转到用户页</button>
  </div>
</template>

<script setup>
import { useRouter } from 'vue-router';

// 获取路由实例
const router = useRouter();

// 跳转到用户页并传递查询参数的方法
const goToUser = () => {
  router.push({
    path: '/user',
    query: { id: 123 }
  });
};
</script>
路径参数跳转
// 路由配置
const routes = [
  {
    path: '/user/:id',
    name: 'User',
    component: () => import('./views/User.vue')
  }
];
<template>
  <div>
    <!-- 点击按钮触发跳转 -->
    <button @click="goToUser">跳转到用户页</button>
  </div>
</template>

<script setup>
import { useRouter } from 'vue-router';

// 获取路由实例
const router = useRouter();

// 跳转到用户页并传递路径参数的方法
const goToUser = () => {
  router.push({
    name: 'User',
    params: { id: 123 }
  });
};
</script>

以上便是在 Vue 3 里使用 $router 进行路径跳转时常见的路径写法,你可以依据实际需求来选择合适的方式。

相关文章:

  • [数据结构]排序之 归并排序(有详细的递归图解)
  • Python 监听模式(Observer Pattern)
  • Java面试黄金宝典6
  • 【Android性能】Systrace分析
  • 前后端联调解决跨域问题的方案
  • 洛谷题目: P1225 黑白棋游戏 题解 (本题难)
  • Android Compose 框架基础按钮模块深度剖析(四)
  • 吴恩达机器学习笔记复盘(七)多元线性回归模型
  • 可视化操作界面,工程项目管理软件让复杂项目管理变简单
  • FPGA multiboot 方案
  • WIFI p2p连接总结
  • jenkins安装部署实现自动化构建
  • 【软件工程】02_软件生命周期模型
  • nginx 简单实践:负载均衡【nginx 实践系列之四】
  • Java后端开发技术详解
  • fontTools工具的使用介绍
  • 浅分析 PE3R 感知高效的三维重建
  • LeetCode[242]有效的字母异位词
  • 【Linux】Windows 客户端访问 Linux 服务器
  • 解释什么是受控组件和非受控组件
  • 巴西总统卢拉将访华
  • 屈晓华履新四川省社科联党组书记,此前担任省国动办主任
  • 大四本科生已发14篇SCI论文?重庆大学:成立工作组核实
  • 紧盯大V、网红带货肉制品,整治制售假劣肉制品专项行动开展
  • 国铁集团:铁路五一假期运输收官,多项运输指标创历史新高
  • 央视315晚会曝光“保水虾仁”后,湛江4家涉事企业被罚超800万元