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

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 进行路径跳转时常见的路径写法,你可以依据实际需求来选择合适的方式。


http://www.kler.cn/a/590755.html

相关文章:

  • 蓝桥杯 矩形拼接 10分题
  • R语言——变量
  • ESP32中的内存架构
  • 【TVM教程】使用自定义调度规则(Sketch Rule)在 CPU 上自动调度稀疏矩阵乘法
  • 基于gitea的本地仓库创建
  • 总结 kotlin中的关键字和常用方法
  • 计算机操作系统(6) (经典进程同步问题)
  • 工厂能耗系统完整解决方案 ——安科瑞企业能源管控平台
  • 穆迪暖色调人像静物摄影后期Lr调色教程,手机滤镜PS+Lightroom预设下载!
  • PSI5接口
  • Web3游戏行业报告
  • 手写发布订阅模式
  • 大数据分析方法(65页PPT)
  • mac npm run dev报错 error:0308010C:digital envelope routines::unsupported
  • Java 多线程编程简介
  • 05 MP4解码AAC + 格式知识
  • python基础8 单元测试
  • 蓝桥杯备赛-贪心-管道
  • MySQL 进阶学习笔记(包括MySQL的存储引擎、索引、SQL优化、视图、存储过程、触发器、锁InnoDB引擎和MySQL管理)的相关内容详细版
  • 使用vue3+el-form实现动态新增名称,值,并对名称进行必填校验