微信小程序之-返回上一页

先介绍三种跳转方式:

1.B页面自带返回按钮

[html]  view plain  copy
  1. wx.navigateTo(OBJECT) 保留当前页面,跳转到应用内的某个页面,使用wx.navigateBack可以返回到原页面  

2.B页面不带返回按钮

[html]  view plain  copy
  1. wx.redirectTo(OBJECT)  关闭当前页面,跳转到应用内的某个页面。  

3.B页面不带返回按钮

[html]  view plain  copy
  1. wx.switchTab(OBJECT)       跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面  

自己在B页面人工添加返回按钮到A页面

[html]  view plain  copy
  1. wxml:    
  2.   bindtap="navigateBack"  
  3. js:  
  4.   navigateBack: function () {  
  5.     var self = this;  
  6.     var pages = getCurrentPages();  
  7.     if (pages.length == 1) {  
  8.       if (self.data.circleId && self.data.circleId >0) {  
  9.         wx.redirectTo({  
  10.           url: '../../circle/index/index?circleId=' + self.data.circleId  
  11.           + '&circleName=' + (self.data.circleName || '')  
  12.         });  
  13.       } else {  
  14.         wx.switchTab({  
  15.           url: "../../home/grouplist/grouplist"  
  16.         });  
  17.       }  
  18.     } else {  
  19.       wx.navigateBack({ changed: true });//返回上一页  
  20.     }  
  21.   },  

题外话:

1、A -> B -> C   C直接返回A

A -> B  通过 wx.navigateTo 跳转

B -> C 通过 wx.redirectTo 跳转.跳转触发后 B 页面就会被销毁, C 页面再返回 wx.navigateBack 就会直接到 A 了


2、A -> B -> C    返回效果C -> B -> A

正常 A -> B -> C 都是通过 wx.navigateTo 跳转的,所以 wx.navigateBack 只能返回上一界面

猜你喜欢

转载自blog.csdn.net/gsc1456/article/details/80494446