在微信小程序中,可以使用 getCurrentPages 方法获取当前页面栈,然后通过页面栈中的索引调用其他页面的方法。以下是一个示例代码:
假设有一个页面 pageA,其中包含一个列表,用户可以删除列表中的数据。在删除数据后,需要自动刷新页面。
// 在 pageA 页面中定义一个 refreshPage 方法,用于刷新页面 function refreshPage() { // 获取当前页面栈 const pages = getCurrentPages() // 获取上一个页面实例对象 const prevPage = pages[pages.length - 2] // 调用上一个页面的 onShow 方法 prevPage.onShow() } Page({ data: { list: [ { id: 1, name: '张三' }, { id: 2, name: '李四' }, { id: 3, name: '王五' } ] }, // 删除数据 deleteItem(e) { const { id } = e.currentTarget.dataset const { list } = this.data const index = list.findIndex(item => item.id === id) if (index !== -1) { list.splice(index, 1) this.setData({ list }) // 删除数据后,调用 refreshPage 方法刷新页面 refreshPage() } } })
在上述代码中,我们定义了一个 refreshPage 方法,在该方法中获取当前页面栈和上一个页面实例对象,
然后调用上一个页面的 onShow 方法来刷新页面。
在删除数据后,我们调用了 refreshPage 方法来刷新页面。
需要注意的是,在上一个页面的 onShow 方法中需要重新获取数据并更新页面。