代码附在最后
适用场景:uniapp开发微信小程序
需求是我点击列表进入数据信息的详情界面,点击详情界面的收藏,返回上一界面后,更新列表中的收藏情况。
目录
一、使用onUnload监听页面卸载
二、使用getCurrentPages()获取当前页面栈所有的实例,并找到上一界面的实例进行数据修改
一、使用onUnload监听页面卸载
一开始我使用的是onBackPress(),但是这个方法在微信小程序中根本不生效,后来查看官网才发现这个方法只适用于:app、h5和支付宝小程序
而微信小程序如果触发返回按钮,怎么进行监听呢?
需要使用uniapp官网中写的onUnLoad()方法 点击这里进行查看
运用到实际情况中:
当触发左上角的返回按钮时,控制台也进行了打印。
二、使用getCurrentPages()获取当前页面栈所有的实例,并找到上一界面的实例进行数据修改
那么,可以开始在这个方法里边进行修改上一个界面的数据信息。
需要根据getCurrentPages()获取当前页面栈上所有的实例列表
具体代码:
onUnload() { let pages = getCurrentPages();//获取所有界面栈的实例列表 console.log(pages) let prePage = pages[0];//上一个界面的实例 console.log(prePage) //判断当前数据信息有没有更改,如果值为true,说明用户更改了数据信息,上一界面则需要更新 if(this.scqk){ //需要修改的上一个界面的信息,可以在此处进行更改 console.log(prePage.$vm.searchData); }},