uniapp 微信小程序 组件传参
时间: 2025-08-29 15:51:05 AIGC 浏览: 22
在uniapp开发微信小程序时,组件传参有多种方式,以下为你介绍常见的组件传参方法及示例:
### 父组件向子组件传值
父组件可以直接传参或者使用数据绑定向子组件动态传递数据。
示例如下:
父组件内写法:
```html
<view>
<!-- 以下是对一个自定义组件的引用 -->
<my-component inner-text="Some text" numberA='5' numberB='4' prop-a="{{dataFieldA}}"></my-component>
</view>
```
这里 `inner-text`、`numberA`、`numberB` 是直接传参,`prop-a` 是使用数据绑定传参,`dataFieldA` 是父组件中的数据变量 [^1]。
### 微信小程序传值给 app
使用按钮的 `open-type="launchApp"` 属性并结合 `app-parameter` 进行传参。
示例如下:
```html
<button class="bottom" open-type="launchApp" :app-parameter="orderId" @error="launchAppError">返回APP</button>
```
在 `data` 函数中定义 `orderId`:
```javascript
data() {
return {
orderId: '123456',
}
}
```
此示例实现了将 `orderId` 传递给 app [^2]。
### web - view 与 H5、微信小程序传参
步骤如下:
1. 将文件放置到 pc 端的配置文件夹中 `/utils/uni.webview.1.5.4.js`。
2. 在需要使用的页面中引入:
```javascript
import * as uni from '@/utils/uni.webview.1.5.4.js'
```
3. 进行初始化:
```javascript
mounted() {
document.addEventListener('UniAppJSBridgeReady', function() {
// 初始化操作
uni.webView.postMessage({
data: {
order: 'playRecord'
}
});
});
}
```
此示例展示了如何通过 `web - view` 进行传参 [^3]。
### 页面间传参
当使用 `navigateTo` 传参时,可按以下示例操作:
```javascript
uni.navigateTo({
url: `/pages/begin-consultation/begin-consultation?id=${item.id}&name=${item.name}`
})
```
若遇到两个页面向一个页面传参,使用 `onLoad` 接收数据会出错的问题,可在 `onShow` 里获取数据:
```javascript
onShow() {
let pagearr = getCurrentPages(); // 获取应用页面栈
let currentPage = pagearr[pagearr.length - 1]; // 获取当前页面信息
// console.log('option:' , currentPage.options) // 获取页面传递的信息
this.doctor = currentPage.options; // 赋值
console.log(this.doctor, '医生信息');
}
```
此示例解决了页面传参接收数据出错的问题 [^4]。
阅读全文
相关推荐



















