微信小程序开发之页面跳转问题

宾果软件 . 发布于 2023-07-17 18:00:54 . 阅读 554
```html





微信小程序开发之页面跳转问题





在微信小程序开发中,页面间跳转是一个非常常见的操作。不过,有一种常见的问题是:如何在小程序中实现页面跳转后返回上一页面并刷新数据?这在诸如提交表单或更改配置等需求中可能会遇到。让我们一起来看看这个问题的解决方法。



问题描述


在小程序中,我们通常使用wx.navigateTowx.redirectTo来跳转到新页面。这两个API的区别在于,navigateTo会保留当前页面,而redirectTo则不会。但是,当我们需要返回上一页面并更新数据时,这两个API无法满足需求,因为它们都不会自动触发上一页面的onShow生命周期。



解决方法


我们可以通过使用全局数据解决这个问题。具体步骤如下:



1. 在app.js中定义全局数据,如globalData: { needRefresh: false }



2. 在需要刷新数据的页面中,设置this.app.globalData.needRefresh = true



3. 在返回的页面中的onShow生命周期中,检查if (this.app.globalData.needRefresh) {...},如果true,则执行数据更新逻辑。



结论


这种方法虽然有一些工作量,但它可以解决返回上一页面并刷新数据的问题。总的来说,理解小程序的页面生命周期及全局数据的应用,可以帮助我们更好地进行小程序开发。





```