Vue3点击按钮实现跳转页面并携带参数

前提:有完整的路由规则

1.源页面

html 复制代码
<template>
  <div>
    <h1>源页面</h1>
    <!--通过js代码跳转-->
 <template #default="scope">
    <button @click="toTargetView(scope.row)">点击跳转携带参数</button>
        </template>

  </div>
</template>

<script setup>
//引入路由组件
import router from '@/router/index.js'
import {ref} from 'vue'

//可以定义参数
const testParam= ref('Test')

const toTargetView = () => {
  router.push({
    path: 'prmbillingcancel',
    query: {
      testParam: testParam.value,
      row: JSON.stringify(row),//这里要JSON序列化一下
    }
  })
}


</script>

<style scoped>

</style>

目标页面这里 path里面写自己的路由编码,传了当前行数据和自定义参数,当前行参数要序列化

2.目标页面

html 复制代码
<template>
  <div>
    <h1>目标页面</h1>

    用户名:{{ username }}
   
  </div>
</template>

<script setup>
import {onMounted, ref} from 'vue'
import {useRoute} from 'vue-router'

const route = useRoute()
//接收自定义参数
const username = ref('')
//接收当前行数据
const item = ref<any>(null);


//使用钩子函数接收来自路由的参数
onMounted(() => {
  username.value = route.query.username
  item.value = JSON.parse(route.query.row as string);//这里反序列化获取参数
  console.log("row",item.value);

})
</script>

<style scoped>

</style>
相关推荐
木心操作6 分钟前
js生成excel表格进阶版
开发语言·javascript·ecmascript
GISer_Jing6 分钟前
sqb&ks二面(准备)
前端·javascript·面试
谢尔登11 分钟前
【Webpack】模块联邦
前端·webpack·node.js
前端码虫15 分钟前
2.9Vue创建项目(组件)的补充
javascript·vue.js·学习
Bottle41428 分钟前
深入探究 React Fiber(译文)
前端
夜宵饽饽29 分钟前
上下文工程实践 - 工具管理(上篇)
javascript·后端
汤姆Tom34 分钟前
JavaScript Proxy 对象详解与应用
前端·javascript
BillKu34 分钟前
Vue3中app.mount(“#app“)应用挂载原理解析
javascript·vue.js·css3
xiaopengbc40 分钟前
在 React 中如何使用 useMemo 和 useCallback 优化性能?
前端·javascript·react.js