vue路由跳转到新页面实现置顶

 更新时间:2023年05月25日 09:46:29   作者:qq_43103581  
这篇文章主要介绍了vue路由跳转到新页面实现置顶问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue路由跳转到新页面置顶

当页面较长,有滚动条时,路由跳转的时候,有时会有不能置顶的情况,只需要在router.js中加入以下代码即可(不是唯一,但能解决问题)

scrollBehavior (to, from, savedPosition) {
    if (savedPosition) {
      return savedPosition
    } else {
      return { x: 0, y: 0 }
    }
  },

vue路由跳转的几种方式及解释说明

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' } });
  }
  <a-button type="primary" @click="goTo">路由path方式跳转</a-button>
  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');
  }

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • vue3的watch和watchEffect你了解吗

    vue3的watch和watchEffect你了解吗

    这篇文章主要为大家详细介绍了vue的watch和watchEffect,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • Vue实现点击显示不同图片的效果

    Vue实现点击显示不同图片的效果

    这篇文章主要为大家详细介绍了Vue实现点击显示不同图片的效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • 关于element ui 表格中的常见特殊属性说明

    关于element ui 表格中的常见特殊属性说明

    这篇文章主要介绍了关于element ui 表格中的常见特殊属性说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 基于Vue3和Element Plus实现可扩展的表格组件

    基于Vue3和Element Plus实现可扩展的表格组件

    在开发过程中,我们经常需要创建具有复杂功能的表格组件,本文将介绍如何使用 Vue 3 和 Element Plus 库来构建一个可扩展的表格组件,文中有详细的代码示例供大家参考,需要的朋友可以参考下
    2024-07-07
  • vue-router history模式下的微信分享小结

    vue-router history模式下的微信分享小结

    本篇文章主要介绍了vue-router history模式下的微信分享小结,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • Vue项目中添加锁屏功能实现思路

    Vue项目中添加锁屏功能实现思路

    这篇文章主要介绍了Vue项目中添加锁屏功能的实现思路,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Vue3安装dataV报错问题解决方案

    Vue3安装dataV报错问题解决方案

    这篇文章主要给大家介绍了关于Vue3安装dataV报错问题解决方案的相关资料,dataV用于大屏展示,个人觉得比echarts简单很多,需要的朋友可以参考下
    2023-06-06
  • 使用vue实现一个电子签名组件的示例代码

    使用vue实现一个电子签名组件的示例代码

    这篇文章主要介绍了使用vue实现一个电子签名组件的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-01-01
  • Vue+ElementUI实现从后台动态填充下拉框的示例代码

    Vue+ElementUI实现从后台动态填充下拉框的示例代码

    本文主要介绍了Vue+ElementUI实现从后台动态填充下拉框的示例代码,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-02-02
  • Vue Router路由hash模式与history模式详细介绍

    Vue Router路由hash模式与history模式详细介绍

    Vue Router是Vue.js官方的路由管理器。它和Vue.js的核心深度集成,让构建单页面应用变得易如反掌。路由实际上就是可以理解为指向,就是我在页面上点击一个按钮需要跳转到对应的页面,这就是路由跳转
    2022-08-08

最新评论