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

vue3的页面跳转方法汇总(路由跳转,组件跳转)

1.组件跳转

使用router-link组件进行组件导航(无需引入该组件,可直接使用)to后面跟组件路由。如果想要在当前页显示跳转的组件,可以通过<router-view>来显示当前路由匹配到的组件,也可以不使用<router-view>直接跳转到对应的页面。
注:该组件不仅可以显示文字,还可以在其中放按钮的样式进行点击跳转

<!-- 使用router-view -->
<template><div id="app"><div id="header">    <router-link to="/">Home</router-link><router-link to="/about">About</router-link></div><div id="content"><router-view></router-view></div>   </div>
</template><!-- 不使用router-view -->
<template>   <router-link to="/">Home</router-link>    <!-- 点击Home文字跳转到根页面 --><router-link to="/"><button>Home</button></router-link>  <!-- 点击Home按钮跳转到根页面 -->
</template>

效果如下:一个是文字,一个是按钮

2.路由跳转

路由跳转编程式导航有以下几种常用的方法:
1. router.push:跳转到push的页面,这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,会回到之前的 URL
2.router.replace:跳转到某个页面并替换当前页,它不会向 history 添加新记录,而是跟它的方法名一样,替换掉当前的 history 记录,所有,当用户后退页面时并不是回到跳转之前的那个页面
3.router.go:该方法的参数是一个整数,在 history 记录中前进或后退指定的步数(页数)。参数为 0 时会重新加载页面,但会有短暂白屏
4.router.back :在 history 记录中,返回上一页(无需参数)
5.router.forward:在 history 记录中,前往下一页(无需参数)

注:在使用编程式导航路由跳转时,需要先引入路由实例router ,即需要先在代码中配置如下:

//组合式代码示例:
<script setup>
import { useRouter } from "vue-router";
const router = useRouter();
</script>//选项式代码示例:
<script>
import { useRouter } from 'vue-router';
export default {setup() {const router = useRouter();},
};
</script>

(1).router.push({ path: "目标路由位置" })

router.push方法不仅可以跳转页面,还可以在跳转页面时携带参数进行路由传参,其中情况分为两种:普通路由动态路由

  • push仅跳转不传参: 
<script>router.push('/') // 根页面,这里的“/”等同于home页面router.push({path: '/about',})
</script>
  • push跳转并传参(普通路由) 

        ①.query参数

<script>
router.push({path: '/about',query: {name: 'Jen'}})
</script>

        ②.params参数

<script>
router.push({name: 'home',params: {title: 'about'}})
</script>

push跳转并传参(动态路由) 

需要多引入一个路由对象route来接收参数,代码如下:
注:路由之间跳转用router,获取当前页面的路由信息用route

//组合式代码示例:
<script setup>
import { useRoute } from 'vue-router'
const route = useRoute()
</script>

路由配参: 

    {path: '/test/:title',name: 'test',component: () => import('../views/TestView.vue')},

 动态传参:

<script>router.push({path: '/test/' + 666,})
</script>

接收参数,路由信息: 

<script>
console.log(route);
</script>

(2).router.replace({path: "目标路由位置"})

<script>router.replace({ path: "/home" });    //替换当前页面,跳转到home页
</script>

(3).router.go(整数)

<script>router.go(1);    //前进一个页面router.go(-2);   //回退两个页面
</script>

(4).router.back()

<script>router.back();    //回退一个页面
</script>

(5).router.forward()

<script>router.forward();    //前进一个页面
</script>

router和route的区别 

相关文章:

  • dubbo-token验证
  • 大数据应用开发和项目实战-电商双11美妆数据分析2
  • 《数据结构:二叉搜索树(Binary Search Tree)》
  • 面向智能体开发的声明式语言:可行性分析与未来图景
  • SafeDrive:大语言模型实现自动驾驶汽车知识驱动和数据驱动的风险-敏感决策——论文阅读
  • 【论文阅读】Reconstructive Neuron Pruning for Backdoor Defense
  • 内网渗透技术全面指南——安全业务视角(基于《内网渗透技术 (吴丽进、苗春雨 主编;郑州、雷珊珊、王伦 副主编)》)
  • C++ set和map系列(关联式容器)的介绍及使用
  • 【论文阅读】Towards Stable Backdoor Purification through Feature Shift Tuning
  • Web 架构之负载均衡全解析
  • 【论文阅读】HunyuanVideo: A Systematic Framework For Large Video Generative Models
  • LangChain4j简介
  • 记录一个rabbitmq因为linux主机名服务无法启动的问题
  • UE5.3 C++ 如何在c++ 中拿到UI元素,并绑定不同事件响应功能
  • C++回调函数学习
  • Linux:进程控制1
  • 标量/向量/矩阵/张量/范数详解及其在机器学习中的应用
  • 第8章-1 查询性能优化-优化数据访问
  • 构建安全的机器学习推理API:基于FastAPI的用户认证与管理实战
  • 用R语言+随机森林玩转遥感空间预测-基于R语言机器学习遥感数据处理与模型空间预测技术及实际项目案例分析
  • 乘客被地铁厕所门砸伤,南京地铁:突然坏的,已和乘客沟通处理
  • 105岁八路军老战士、抗美援朝老战士谭克煜逝世
  • 铲屎官花5万带猫狗旅行,宠旅生意有多赚?
  • 云南临沧一行贿案金额认定比受贿案多41万,重审时检方变更金额起诉
  • 城管给商户培训英语、政银企合作纾困,上海街镇这样优化营商环境
  • 售卖自制外挂交易额超百万元,一男子因提供入侵计算机系统程序被抓