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后面的,都是一些不重要的数据,最重要的是不会出现刷新页面,出现携带的数据丢失情况 

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

相关文章

  • vue项目怎样用nginx反向代理WebSocket请求地址

    vue项目怎样用nginx反向代理WebSocket请求地址

    这篇文章主要介绍了vue项目怎样用nginx反向代理WebSocket请求地址问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 浅谈父子组件传值问题

    浅谈父子组件传值问题

    这篇文章主要介绍了Vue父子组件传值问题,文章中有详细的示例代码,感兴趣的同学可以参考阅读
    2023-04-04
  • springboot + vue+elementUI实现图片上传功能

    springboot + vue+elementUI实现图片上传功能

    文章描述了如何使用Element UI的el-upload组件实现前端图片上传,并将图片存储到后端数据库,同时在页面上回显上传的图片,后端通过接口接收图片,并将其存储在指定位置,然后返回图片路径以便在前端显示,本文给大家介绍的非常详细,感兴趣的朋友一起看看吧
    2025-01-01
  • Vue 和 React 使用ref的示例详解

    Vue 和 React 使用ref的示例详解

    在 Vue 中,ref 是一个响应式对象,修改 ref 的值会触发组件的重新渲染,因为 Vue 的 ref 是基于其响应式系统实现的,任何对 ref 的修改都会被 Vue 检测到,并触发组件的更新,本文给大家介绍Vue 和 React 使用ref的示例,感兴趣的朋友一起看看吧
    2025-04-04
  • element中Steps步骤条和Tabs标签页关联的解决

    element中Steps步骤条和Tabs标签页关联的解决

    这篇文章主要介绍了element中Steps步骤条和Tabs标签页关联的解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 在vue.js渲染完界面之后如何再调用函数

    在vue.js渲染完界面之后如何再调用函数

    这篇文章主要介绍了在vue.js渲染完界面之后如何再调用函数的实现方法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • 使用 vue 实例更好的监听事件及vue实例的方法

    使用 vue 实例更好的监听事件及vue实例的方法

    这篇文章主要介绍了使用 vue 实例更好的监听事件及vue实例的方法,介绍了一种新增 vue 实例的方法,单独监听事件,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-04-04
  • Vue中进行分布式鉴权与认证的过程

    Vue中进行分布式鉴权与认证的过程

    在Vue应用中,我们通常需要实现分布式鉴权和认证,以确保用户的安全性和数据的保密性,本文将介绍在Vue中如何进行分布式鉴权与认证,需要的朋友可以参考下
    2023-06-06
  • Vue下路由History模式打包后页面空白的解决方法

    Vue下路由History模式打包后页面空白的解决方法

    这篇文章主要介绍了Vue下路由History模式打包后页面空白,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • Vue3中父子组件之间相互通信的方式详解

    Vue3中父子组件之间相互通信的方式详解

    本文主要探讨了 Vue 3 中父子组件之间的通信方式,包括父传子,通过props传递数据和方法;子传父,用emit触发自定义事件并传递数据;还介绍了使用ref直接操作子组件实例,借助defineExpose暴露子组件的属性和方法给父组件,需要的朋友可以参考下
    2025-01-01

最新评论