小程序子页面调取父页面的方法
时间: 2024-05-01 22:19:42 浏览: 80
mui-子页面调用父页面方法
小程序子页面可以通过以下两种方式调用父页面的方法:
1. 使用 `getCurrentPages()` 方法获取当前页面栈,然后通过索引获取父页面实例,最后调用父页面的方法。
```javascript
// 子页面中调用父页面方法
const pages = getCurrentPages();
const parentPage = pages[pages.length - 2]; // 获取父页面实例
parentPage.myMethod(); // 调用父页面方法
```
2. 在子页面中通过 `wx.navigateTo` 或 `wx.redirectTo` 方法跳转到父页面时,可以在 `options` 参数中传递一个回调函数,在父页面中执行该回调函数。
```javascript
// 子页面跳转到父页面并传递回调函数
wx.navigateTo({
url: '/pages/parent/parent',
success: function(res) {
const parentPage = res.eventChannel.emit('getParentPage', {}); // 获取父页面实例
parentPage.myMethod(); // 调用父页面方法
}
})
```
在父页面中需要监听子页面传递的回调函数,并返回父页面实例。
```javascript
// 父页面中监听回调函数并返回父页面实例
Page({
onLoad: function(options) {
const eventChannel = this.getOpenerEventChannel();
eventChannel.on('getParentPage', (data) => {
return this; // 返回父页面实例
});
}
})
```
阅读全文