用户
 找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,登录网站

小程序社区 首页 教程 新手教程 小技巧系列 查看内容

微信小程序:执行navigateBack函数后,刷新返回页面的数据

Rolan 2020-6-23 00:30

需求: 如上图所示: 当右边的页面点击“转发笔记”后,调用wx.navigateBack()退出页面栈,返回到上一级页面,即左边的页面; 返回到左边的页面后,需要重新刷新数据,发送api请求; 问题: 正常情况下,微信小程序 ...

需求:

如上图所示:

  • 当右边的页面点击“”后,调用wx.navigateBack()退出页面栈,返回到上一级页面,即左边的页面;
  • 返回到左边的页面后,需要重新刷新数据,发送api请求;

问题:

  • 正常情况下,微信小程序的navigateBack导航接口不会引起生命周期函数的触发,无法传参,重新调用api请求接口,从而达到刷新数据的需求;

解决方案:

  • 获取当前页面栈数组对象;

    • let pages=getCurrentPages();
  • 获取上一页页面的page对象:“beforePage”,在执行navigateBack之前,执行页面对象“beforePage”的请求api函数;

  • 代码示例:

           // 返回到上个页面
      	let pages=getCurrentPages();
      		
      	let beforePage=pages[pages.length-2];
      	//getNoteDetail为上一个页面的刷新数据函数;
      	beforePage.getNoteDetail(note);
      	wx.navigateBack({
      		delta:1,
      	})
    复制代码


鲜花
鲜花
鸡蛋
鸡蛋
分享至 : QQ空间
收藏
原作者: GeekQiaQia 来自: 掘金