uni-app 页面间数据传递:使用 uni.navigateBack 返回上一个页面并更新数据
使用 uni.navigateBack 返回上个页面并且带数据传参,上个页面是通过 receiveEditData(data) 接收数据的,但是有个问题是返回上个页面,页面数据并没有发生改变,需得有一个点击事件触发之后才能改变,怎么能让他返回上个页面的同时页面发生改变?
在 uni.navigateBack 的 success 回调函数中,可以调用上一个页面的方法来改变页面数据。具体实现如下:
- 在上一个页面的
methods中定义一个方法receiveEditData,用来接收传递过来的数据并改变页面数据:
receiveEditData(data) {
this.specificRegularsDataCopy[this.viewIndex] = data;
}
- 在当前页面中调用
uni.navigateBack时,将要传递的数据通过参数传递给上一个页面的receiveEditData方法:
uni.navigateBack({
delta: 1, // 返回到上一个页面
success: () => {
const pages = getCurrentPages();
const prevPage = pages[pages.length - 1];
prevPage.receiveEditData(this.regularSingleData);
}
});
这样,当返回到上一个页面时,上一个页面的数据就会改变。
原文地址: http://www.cveoy.top/t/topic/egLn 著作权归作者所有。请勿转载和采集!