vue 路由跳转方式
创始人
2024-03-26 00:00:37
0

一、使用标签跳转

1.1 router-link(声明式路由,在页面中调用)

在Vue中,router-link称为声明式路由,常放在页面中,:to绑定为跳转的目标地址,通过点击实现跳转,路由的跳转主要有两种形式,一种是通过name,另一种是path。

  1.1 路由不带参数路由name方式跳转首页路由path方式跳转首页

1.2 路由带参数跳转
路由参数的传递主要有两种方式一种是params,另一种是query,主要区别如下: 

1. params传参的参数不会显示在跳转的URL中,query传参的参数会显示在URL中。2. params所传的参数通过this.$route.params.参数;获取,query所传的参数通过this.$route.query.参数;获取3. 因为params所传递的参数不显示在URl中,所以在路由跳转时推荐params方式进行传参4. 都不能传对象和着数组引用类型数据,只能传字符串类型数据
    路由name,params方式跳转首页路由name,query方式跳转首页     路由path,params方式跳转首页路由path,query方式跳转首页

 二、this.$router.push() (在函数里面调用)

2.1不带参数跳转

  this.$router.push({ path: '/home'});this.$router.push({ name: 'home'});

2.2带参数跳转 

路由name方式跳转goTo() {this.$router.push({ name: 'home', params: { a: '1', b: '2' } });//推荐用params传参方式this.$router.push({ name: 'home', query: { a: '1', b: '2' } });}
路由path方式跳转goTo() {this.$router.push({ path: '/home', params: { a: '1', b: '2' } });//推荐用params传参方式this.$router.push({ path: '/home', query: { a: '1', b: '2' } });}

 三、this.$router.resolve()打开新窗口跳转

3.1通过path形式跳转 

goTo() {let routeData = this.$router.resolve({path: '/home',});window.open(routeData.href, '_blank');}

 3.2通过name形式跳转

 goTo() {let routeData = this.$router.resolve({name: 'home',});window.open(routeData.href, '_blank');}

 四:使用this.$router.replace()跳转(不会留下 history 记录,返回是返回上上级页面)

//导航后不会留下 history 记录。即使点击返回按钮也不会回到这个页面。
this.$router.replace({path:'/goods/add'});//带参数方式与push相同(获取参数也一样)
this.$router.replace({path:'/goods/add', query: {selected: "3"}});//push方法也可以传replace
//push在加上replace: true后,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。this.$router.push({path: '/home', replace: true})

五:使用this.$router.go(n)方式跳转

//跳转到上一页
this.$router.go(-1)
//跳转到上上页this.$router.go(-2)

 tip:推荐使用最常用方法二,四

相关内容

热门资讯

AWSECS:访问外部网络时出... 如果您在AWS ECS中部署了应用程序,并且该应用程序需要访问外部网络,但是无法正常访问,可能是因为...
银河麒麟V10SP1高级服务器... 银河麒麟高级服务器操作系统简介: 银河麒麟高级服务器操作系统V10是针对企业级关键业务...
【NI Multisim 14...   目录 序言 一、工具栏 🍊1.“标准”工具栏 🍊 2.视图工具...
不能访问光猫的的管理页面 光猫是现代家庭宽带网络的重要组成部分,它可以提供高速稳定的网络连接。但是,有时候我们会遇到不能访问光...
AWSElasticBeans... 在Dockerfile中手动配置nginx反向代理。例如,在Dockerfile中添加以下代码:FR...
Android|无法访问或保存... 这个问题可能是由于权限设置不正确导致的。您需要在应用程序清单文件中添加以下代码来请求适当的权限:此外...
月入8000+的steam搬砖... 大家好,我是阿阳 今天要给大家介绍的是 steam 游戏搬砖项目,目前...
​ToDesk 远程工具安装及... 目录 前言 ToDesk 优势 ToDesk 下载安装 ToDesk 功能展示 文件传输 设备链接 ...
北信源内网安全管理卸载 北信源内网安全管理是一款网络安全管理软件,主要用于保护内网安全。在日常使用过程中,卸载该软件是一种常...
AWS管理控制台菜单和权限 要在AWS管理控制台中创建菜单和权限,您可以使用AWS Identity and Access Ma...