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');
  }

总结

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

相关文章

  • 开启Vue项目缺少node_models包的问题及解决

    开启Vue项目缺少node_models包的问题及解决

    这篇文章主要介绍了开启Vue项目缺少node_models包的问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • Vue路由传参详细介绍

    Vue路由传参详细介绍

    这篇文章主要介绍了Vue路由传参的两种方式query和params,介绍了query和params区别与总结,结合示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • Vue.js 递归组件实现树形菜单(实例分享)

    Vue.js 递归组件实现树形菜单(实例分享)

    本文主要对介绍利用Vue.js 的递归组件,实现了一个最基本的树形菜单。具有很好的参考价值,下面就跟着小编一起来看下吧
    2016-12-12
  • vue里如何主动销毁keep-alive缓存的组件

    vue里如何主动销毁keep-alive缓存的组件

    这篇文章主要介绍了vue里如何主动销毁keep-alive缓存的组件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • Vue中使用 Echarts5.0 遇到的一些问题(vue-cli 下开发)

    Vue中使用 Echarts5.0 遇到的一些问题(vue-cli 下开发)

    这篇文章主要介绍了Vue中使用 Echarts5.0 遇到的一些问题(vue-cli 下开发),具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-10-10
  • vue自定义全局组件实现弹框案例

    vue自定义全局组件实现弹框案例

    这篇文章主要为大家详细介绍了vue自定义全局组件实现弹框案例,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-03-03
  • vue-cli设置css不生效的解决方法

    vue-cli设置css不生效的解决方法

    这篇文章主要介绍了vue-cli设置css不生效的解决方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • vue props default Array或是Object的正确写法说明

    vue props default Array或是Object的正确写法说明

    这篇文章主要介绍了vue props default Array或是Object的正确写法说明,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Vue3组件间的通信方式详解

    Vue3组件间的通信方式详解

    这篇文章主要介绍了Vue3组件间的通信方式,在使用vue时,我们经常会把不同的模块拆分成不同的组件,而组件之间有的需要传递数据,所以组件间的数据通信就非常重要了
    2023-04-04
  • Vue.js实现列表清单的操作方法

    Vue.js实现列表清单的操作方法

    Vue.js在设计上采用MVVM模式,当View视图层发生变化时,会自动更新到ViewModel.接下来通过本文给大家分享Vue.js实现列表清单的操作方法,需要的朋友参考下吧
    2017-11-11

最新评论