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

前提:有完整的路由规则

1.源页面

<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.目标页面

<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>

### Vue 3 中通过点击事件实现路由跳转Vue 3 应用程序中,可以通过多种方式利用 `Vue Router` 来实现点击事件触发后的页面跳转。下面介绍一种常见的方式——使用编程式导航。 #### 编程式导航结合点击事件 为了响应用户的交互行为执行相应的逻辑处理,在组件内部绑定点击事件处理器是一个常用的方法。当用户单击按钮或其他可点击元素时,调用该处理器函数中的 `router.push()` 方法完成页面切换操作[^1]。 ```html <template> <button @click="handleClick">前往政策配置页</button> </template> <script setup> import { useRouter } from "vue-router"; const router = useRouter(); function handleClick() { // 使用 name 和 params 方式进行跳转 router.push({ name: "PolicyConfig", params: { policyId: 1101, name: "test" } }); } </script> ``` 此代码片段展示了如何在一个简单的 HTML 按钮上设置一个点击监听器,在其回调函数内发起一次带有参数的命名路径跳转请求。这种方式不仅能够携带必要的数据至目标视图,而且使得 URL 更加语义化和易于管理[^3]。 对于某些场景下可能还需要传递查询字符串作为附加信息,则可以采用如下形式: ```javascript // 基于 path 或者 name 的 query 参数跳转 router.push({ name: "SomeRouteName", query: { key: value } }); ``` 这样做的好处在于这些查询参数将会被追加到浏览器地址栏后面,且即使刷新页面也能保留下来。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值