vue-router跳转方式的区别解析

 更新时间:2022年12月14日 09:52:26   作者:_曾经沧海难为水  
在Vue中,router-link称为声明式路由,:to绑定为跳转的目标地址,一种是通过name,另一种是path,这篇文章主要介绍了vue-router跳转方式的区别,需要的朋友可以参考下

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

在Vue中,router-link称为声明式路由,:to绑定为跳转的目标地址,一种是通过name,另一种是path。
1.1 路由不带参数

 <router-link :to="{ name: 'word' }">路由name方式跳转首页</router-link>
      <router-link :to="{ path: '/word' }">路由path方式跳转首页</router-link>

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

1. params传参的参数不会显示在跳转的URL中,query传参的参数会显示在URL中。

2. params所传的参数通过this.$route.params.参数;获取,query所传的参数通过this.$route.query.参数 获取

3. 因为params所传递的参数不显示在URl中,所以在路由跳转时推荐params方式进行传参

4. 都不能传对象和数组引用类型数据,只能传字符串类型数据

<router-link :to="{ name: 'home', params: { key: '1', value: '跳转' } }">路由name,params方式跳转首页</router-link>
     <router-link :to="{ name: 'home', query: { key: '1', value: '跳转' } }">路由name,query方式跳转首页</router-link>
     
     <router-link :to="{ path: '/home', params: { key: '1', value: '跳转' } }">路由path,params方式跳转首页</router-link>
     <router-link :to="{ path: '/home', query: { key: '1', value: '跳转' } }">路由path,query方式跳转首页</router-link>

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

2.1不带参数跳转

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

2.2带参数跳转

 <a-button type="primary" @click="goTo">路由name方式跳转</a-button>
  goTo() {
    this.$router.push({ name: 'home', params: { a: '1', b: '2' } });//推荐用params传参方式
    this.$router.push({ name: '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');
  }

到此这篇关于vue-router跳转方式的区别的文章就介绍到这了,更多相关vue-router跳转内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 前端处理axios请求下载后端返回的文件流代码实例

    前端处理axios请求下载后端返回的文件流代码实例

    使用axios可以很方便地获取后端返回的文件流数据,并在前端直接在浏览器下载,这篇文章主要给大家介绍了关于前端处理axios请求下载后端返回的文件流的相关资料,需要的朋友可以参考下
    2024-07-07
  • 浅析Vue3中的逻辑复用

    浅析Vue3中的逻辑复用

    这篇文章主要为大家详细介绍了Vue3中逻辑复用的相关知识,文中的示例代码简洁易懂,对我们深入了解Vue3有一定的帮助,需要的小伙伴可以参考下
    2023-12-12
  • vue打包上传到服务器加载慢的优化方式

    vue打包上传到服务器加载慢的优化方式

    这篇文章主要介绍了vue打包上传到服务器加载慢的优化方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-05-05
  • elementplus el-table(行列互换)转置的两种方法

    elementplus el-table(行列互换)转置的两种方法

    本文主要介绍了elementplus el-table(行列互换)转置,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2024-06-06
  • Vue 项目运行完成后自动打开浏览器的方法汇总

    Vue 项目运行完成后自动打开浏览器的方法汇总

    这篇文章主要介绍了Vue 项目运行完成后自动打开浏览器的多种实现方法,方法一比较适用于vue3,每种方法通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2022-02-02
  • Vue2.x中的父组件传递数据至子组件的方法

    Vue2.x中的父组件传递数据至子组件的方法

    这篇文章主要介绍了Vue2.x中的父组件数据传递至子组件的方法,需要的朋友可以参考下
    2017-05-05
  • vue如何实现未登录不能访问某些页面

    vue如何实现未登录不能访问某些页面

    这篇文章主要介绍了vue如何实现未登录不能访问某些页面问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-03-03
  • vue响应式原理与双向数据的深入解析

    vue响应式原理与双向数据的深入解析

    Vue 最独特的特性之一,是其非侵入性的响应式系统。下面这篇文章主要给大家介绍了关于vue响应式原理与双向数据的相关资料,需要的朋友可以参考下
    2021-06-06
  • vue中插件和组件的区别点及用法总结

    vue中插件和组件的区别点及用法总结

    在本篇文章里小编给大家分享的是一篇关于vue中插件和组件的区别点及用法总结内容,有兴趣的的朋友们可以学习下。
    2021-12-12
  • 基于element-UI input等组件宽度修改方式

    基于element-UI input等组件宽度修改方式

    这篇文章主要介绍了基于element-UI input等组件宽度修改方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03

最新评论