码迷,mamicode.com
首页 > 微信 > 详细

微信小程序页面返回传参的问题

时间:2019-03-13 19:45:56      阅读:312      评论:0      收藏:0      [点我收藏+]

标签:get   red   code   调用   ntp   api   16px   var   col   

  比如提交问题,然后需要返回之前页面,由于onLoad只会加载一次,所以不会触发,但是我们页面又需要刷新,那怎么办?

1、onLoad与onShow区别

onLoad:监听页面加载。一个页面只会调用一次。接收页面参数 可以获取wx.navigateTo和wx.redirectTo及<navigator/>中的 query。

onShow:监听页面显示。每次打开页面都会调用一次(页面加载好之后,你切到其他页面,再回来显示这个页面,之前加载过的话onLoad就不跑了,但是页面信息呈现在你面前的这个过程,就会跑onShow)接收不了参数

2、那么页面返回,需要刷新页面,怎么办?

  wx.navigateBack页面返回传参的方案:从页面路由栈中直接获取和操作目标Page对象

  通过调用小程序的API: getCurrentPages(),来获取当前页面路由栈的信息,这个路由栈中按照页面的路由顺序存放着相应的Page对象,获取到上一级页面的完整Page对象,从而使直接调用Page对象的属性和方法成为可能。如下所示:

var pages = getCurrentPages();
var currPage = pages[pages.length - 1];   //当前页面
var prevPage = pages[pages.length - 2];  //上一个页面

//直接调用上一个页面的setData()方法,把数据存到上一个页面中去
var newtitle =It is new title;
//不需要页面更新
prevPage.setData({
  title: newtitle
})

微信小程序页面返回传参的问题

标签:get   red   code   调用   ntp   api   16px   var   col   

原文地址:https://www.cnblogs.com/goloving/p/10525438.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!