在写微信小程序时有个功能有点问题

需求是,在当前页面(A页面)查看列表,在A页面点击发布跳转到表单页(B页面)。B页面提交成功返回上一页A,要判断如果发布成功,返回到A页面得拿到最新数据(相当于要监听返回到A页面时得刷新数据了)

方法一:

使用onshow的生命周期,但是这个有个缺点,就是因为A页面是有下拉刷新的功能,如果在onshow调用的话,当用户下拉,onshow里的方法会被调用1次。这样导致页面的数据重复了

方法二:

使用getCurrentPages方法拿到上一页的内容。当在B页面返回时调用A页面的getlist()方法。

A页面

getlist(){
//被调用的方法

}

 B页面

let pages = getCurrentPages(); // 当前页面
let beforePage = pages[pages.length - 2];  //上一个页面
uni.navigateBack({
	success: function() { 
			 beforePage.$vm.getlist();
	}
})

 

 B页面编辑成功后调用上一个页面方法

案例截图

 

Logo

前往低代码交流专区

更多推荐