业务逻辑:
从A.vue页面跳转到B.vue页面,在B.vue填写了值并保存返回到A.vue页面,但是A.vue页面的值也要同步更新。
解决方法:
第一种
以前使用uni.redirectTo({ })方法来返回跳转到A.vue页面,然后在A.vue页面的onShow()声明周期里重新发送请求
这个方法的体验不是很好,但是也不是不可以这样做
第二种:使用getCurrentPages()
在返回A页面之前加上以下这段代码,就可以修改上一个页面(A.vue页面)的值
代码:
let pages = getCurrentPages()
let pre = pages[pages.length-2]//上一个页面
pre._data.title = '返回时修改页面参数1'//pre._data:上一个页面里的data中的参数
uni.navigateBack({})
也可以放在onBackPress()生命周期里,onBackPress()是监听返回的
onBackPress() {
let pages = getCurrentPages()
let pre = pages[pages.length-2]
pre._data.title = '返回时修改页面参数1'
return false //这个是true还是false,请自行测试
},