vue3 携带参数跳转|router传参方式

 更新时间:2022年06月29日 11:22:48   作者:腾梦  
这篇文章主要介绍了vue3 携带参数跳转|router传参方式,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

携带参数跳转|router传参

A页面点击按钮后携带参数跳转到B页面

原理

  • 导入router import { useRouter } from "vue-router";
  • A页面传参router.push({})
  • B页面接收route.params.num;

demo

route.js

{ path: '/A', name:'A',component: () => import('pages/A.vueB') },
{ path: '/B', name:'B',component: () => import('pages/B.vue') }

A页面

<template>
  <button @click="go">跳转</button>
</template>
<script>
import { useRouter } from "vue-router";
export default ({
    setup(props, ctx) {
        //router是全局路由对象,route= userRoute()是当前路由对象
        let router = useRouter();
        const go=()=>{
            router.push({
            //传递参数使用params的话,只能使用name指定(在route.js里面声明name)
            name:"B",
            params:{
                num:1
            }
            /* 使用query的话,指定path或者name都行
            path:'/home',
            query:{
            num:1
            } */
            })
        }
        return{
            go,
        }
    }
})
</script>

B页面

<template>
  {{ num }}
</template>
<script>
import { useRoute } from "vue-router";
export default {
  setup(props, ctx) {
    //router是全局路由对象,route= userRoute()是当前路由对象
    let route = useRoute();
    const num = route.params.num;
    console.log(num);
    return {
      num,
    };
  },
};
</script>

vue路由跳转,参数的携带与获取

// 参数的携带两种方式如下
(1) this.$router.push({ name:'orderDetail', params:{id:14} })
(2) this.$router.push({ path:'/microcosm/orderDetail', params:{id:14} })
// 获取参数 对应上面的顺序
(1) this.$route.params.id
(2) this.$route.query.id

第一种方式

(1)携带的参数没有拼接在url地址后面;数据比较保密,但是name属性要在路由表中配置name属性

(2)但是跳转到对应页面后,刷新该页面携带的参数会丢失,如果是根据携带参数获取的数据,会出现一定的问题

第二种方式

(1)携带的参数拼接在url地址后面;不用再路由表中配置name属性

(2)跳转到对应的页面后,刷新页面不会出现上一个页面携带的参数丢失的情况

以上方式可以根据项目的需求进行选择。

我本人一般选择的是第二种方式,一般把数据拼接在url后面的,都是一些不重要的数据,最重要的是不会出现刷新页面,出现携带的数据丢失情况 

好了,这些仅为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 如何在ElementUI的上传组件el-upload中设置header

    如何在ElementUI的上传组件el-upload中设置header

    这篇文章主要介绍了如何在ElementUI的上传组件el-upload中设置header,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • vue 动态style 拼接宽度问题

    vue 动态style 拼接宽度问题

    这篇文章主要介绍了vue 动态style 拼接宽度问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-09-09
  • VUE PC端可拖动悬浮按钮的实现代码

    VUE PC端可拖动悬浮按钮的实现代码

    这篇文章主要介绍了VUE PC端可拖动悬浮按钮的实现代码,通过实例代码介绍了父页面引用的方法,本文结合实例代码给大家介绍的非常详细,需要的朋友可以参考下
    2024-02-02
  • 分享9个Vue的巧妙冷技巧

    分享9个Vue的巧妙冷技巧

    这篇文章主要介绍了分享9个Vue的巧妙冷技巧,文章首先通过巧用$attrs和$listeners的技巧展开,具有一定的参考价值,需要的小伙伴可以参考一下
    2022-06-06
  • uniapp 小程序和app map地图上显示多个酷炫动态的标点效果(头像后端传过来)

    uniapp 小程序和app map地图上显示多个酷炫动态的标点效果(头像后端传过来)

    这篇文章主要介绍了uniapp 小程序和app map地图上显示多个酷炫动态的标点效果(头像后端传过来),本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • Vue组件库Element-常见组件表格示例代码

    Vue组件库Element-常见组件表格示例代码

    对于Element组件的使用,最主要的就是明确自己想要达到的效果,从官网中将对应代码复制粘贴即可,最重要的是要读懂不同组件官网中提供的文档,以便实现自己想要的效果,本文给大家介绍Vue组件库Element-常见组件表格,感兴趣的朋友一起看看吧
    2023-10-10
  • Vue.js项目实战之多语种网站的功能实现(租车)

    Vue.js项目实战之多语种网站的功能实现(租车)

    这篇文章主要介绍了Vue.js项目实战之多语种网站(租车)的功能实现 ,需要的朋友可以参考下
    2019-08-08
  • 如何利用vue3实现放大镜效果实例详解

    如何利用vue3实现放大镜效果实例详解

    最近有项目需要用到对图片进行局部放大,类似淘宝商品页的放大镜效果,经过一番研究功能可用,下面这篇文章主要给大家介绍了关于如何利用vue3实现放大镜效果的相关资料,需要的朋友可以参考下
    2021-09-09
  • vue实现pdf文档在线预览功能

    vue实现pdf文档在线预览功能

    这篇文章主要为大家详细介绍了vue实现pdf文档在线预览功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-11-11
  • Vue nextTick获取更新后的DOM的实现

    Vue nextTick获取更新后的DOM的实现

    本文主要介绍了Vue nextTick获取更新后的DOM的实现,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01

最新评论