Vue页面传参

本文介绍了在Vue中如何传递参数到其他页面,包括两种方式:一是逐个接收参数,二是将参数放入对象中整体传递。详细展示了发送页面的参数组合及接收页面的参数获取方法,为Vue开发中的页面间数据传递提供了清晰的示例。

Vue页面传递参数

 方法一:一个一个接参

发送页面组合参数(接收地址,接收参数):

renderHDBPDF(dyhzbmogoid) {
this.$router.push({path: "/unqualified-after", query: {dyhzbmogoid: dyhzbmogoid, filetype: "hdb"}})
}

接收页面拿去参数

const {dyhzbmogoid, gzsmogoid, filetype} = this.$route.query
console.log(dyhzbmogoid)
console.log(filetype)

方法二:接收参数全部放在一个对象里(推荐)

发送页面组合参数(接收地址,接收参数):

renderHDBPDF(dyhzbmogoid) {
this.$router.push({path: "/unqualified-after", query: {dyhzbmogoid: dyhzbmogoid, filetype: "hdb"}})
}

接收页面拿去参数

data:{
    urlPrames:{}        
}
//上面定义好 urlPrames
this.urlPrames = this.$route.query
console.log(this.urlPrames.dyhzbmogoid)
console.log(this.urlPrames.filetype)

在Uniapp结合Vue3进行页面传参,有以下几种常见方法: ### 页面跳转传参 在A页面传参时,若要传递对象参数,可将对象转换为JSON字符串后添加到跳转的URL中。示例代码如下: ```javascript const toDetail = (value) => { let obj = { id: 1, name: "张三" }; uni.navigateTo({ url: `/pages/demo?obj=${JSON.stringify(obj)}` }); }; ``` 在B页面接收参数时,可使用`onLoad`生命周期函数来获取传递参数。示例代码如下: ```vue <template> <!-- 页面模板 --> </template> <script setup> import { onLoad } from '@dcloudio/uni-app'; import { ref, onMounted } from 'vue'; onLoad((e) => { console.log(e); }); </script> ``` 另外,传递对象参数也可以采用如下方式: ```javascript let o = { 'id': 134, 'name': 'Mike' }; uni.navigateTo({ url: '/pages/index?data=' + JSON.stringify(o) }); ``` ### 子传父参数 子组件需要先使用`defineEmits`注册某个在父组件的事件,然后通过`emits`触发父组件事件并且带上参数。示例代码如下: ```vue <template> <!-- 子组件模板 --> <button @click="sendDataToParent">传递参数给父组件</button> </template> <script setup> import { defineEmits } from 'vue'; const emits = defineEmits(['parentEvent']); const sendDataToParent = () => { const param = '这是子组件传递参数'; emits('parentEvent', param); }; </script> ``` 在父组件中监听该事件并处理参数: ```vue <template> <!-- 父组件模板 --> <ChildComponent @parentEvent="handleChildEvent" /> </template> <script setup> import { ref } from 'vue'; import ChildComponent from './ChildComponent.vue'; const handleChildEvent = (param) => { console.log('接收到子组件的参数:', param); }; </script> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值