小程序中强制页面刷新

1、tab页面切换时强制页面数据刷新

//      pageTabB   =>    pageTabA
wepy.switchTab({ 
	url: '/pages/pageTabA',
	success(){
		let page = getCurrentPages().pop();  
		if( page == undefined || page == null ) return;
		page.onLoad()
	}
});

2、小程序数据返回时刷新当前页面数据

2.1  方法一、获取当前页面栈的数组,数组中最后一个就是当前页面,然后onload当前页面。
if (getCurrentPages().length != 0) {
       //刷新当前页面的数据
       getCurrentPages()[getCurrentPages().length - 1].onLoad()
}

2.2 方法二、在onShow中调用刷新数据的方法
onShow() { //返回显示页面状态函数
    //只执行需要刷新局部数据的方法,来进行局部刷新       ******推荐
}

3、带参返回上一页,并刷新页面

先获取上一个页面的信息栈, 再修改上个页面路由中携带的参数, 再通过wx.navigateBack返回上一页, 最后在上一个页面中的onShow中调用相应的方法,刷新数据

pageB   =>     pageA

//  pageB页面   2 表示上一个页面
    let pages = getCurrentPages();    //获取当前页面信息栈
    
    if(pages.length<=2) return; 
    
    let NPage = pages[pages.length-2]     //获取上一个页面信息栈
    
    NPage.setData({             //  修改上一个页面的路由携带的信息
    
        data:   data ,          // 需要传递测参数
        
    }),
    
    wx.navigateBack();          //  返回上一个页面

//  pageA页面   1 表示当前页面
    let pages = getCurrentPages();    //获取当前页面信息栈
    
    if(pages.length<=1) return; 
    
    let NPage = pages[pages.length-1]     //当前页面
    
    let data = NPage.data.data;     //获取当前页面路由中携带的data数据

你可能感兴趣的:(wepy,微信小程序,wepy)