微信小程序,一个page向另一个page传递数据
时间: 2024-09-27 14:03:24 浏览: 47
微信小程序通过页面间的父子通信或兄弟通信来传递数据。主要有两种方式:
1. **父子组件通信** (Props): 当一个页面需要从父页面接收数据时,可以在父页面通过`props`属性向下传递。父页面设置数据:
```javascript
Page({
data: {
parentData: '这是从父页面传来的数据'
},
onLoad: function() {
this.setData({ childData: this.data.parentData });
}
});
Page({
props: {
childData: { type: String, default: '' } // 在子页面接受并默认为空
},
onReady: function() {
console.log(this.props.childData); // 子页面打印接收到的数据
}
})
```
2. **兄弟组件通信** (Event and Context API): 如果两个页面不是父子关系,可以借助事件总线(如`wx.cloud`)或者Context API来间接传递数据。比如使用`globalData`存储共享数据:
```javascript
globalData.sharedData = {};
PageA({
onShow: function() {
globalData.sharedData.fromPageA = '值A';
}
});
PageB({
onLoad: function() {
console.log(globalData.sharedData.fromPageA); // 在PageB获取数据
}
})
```
阅读全文