当前位置:   article > 正文

微信小程序内的跳转及参数传参_微信小程序 关闭当前页面

微信小程序 关闭当前页面

1、wx.switchTab(跳转主页)

跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面

  1. wx.switchTab({
  2. url: '/index'
  3. })

2、wx.reLaunch(关闭所有页面跳转)

关闭所有页面,打开到应用内的某个页面

  1. wx.reLaunch({
  2. url: '/test?id=1&name=2'
  3. })

3、wx.redirectTo(关闭当前页面跳转)

关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到 tabbar 页面。

  1. wx.redirectTo({
  2. url: '/test?id=1&name=2'
  3. })

4、wx.navigateTo(保留页面跳转)

保留当前页面,跳转到应用内的某个页面。但是不能跳到 tabbar 页面。使用 wx.navigateBack 可以返回到原页面。小程序中页面栈最多十层。

  1. wx.navigateTo({
  2. url: '/test?id=1&name=2'
  3. })
  4. wx.navigateTo({
  5. url: '/test?id=1&name=2',
  6. events: {
  7. // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
  8. acceptDataFromOpenedPage: function(data) {
  9. console.log(data)
  10. },
  11. someEvent: function(data) {
  12. console.log(data)
  13. }
  14. ...
  15. },
  16. success: function(res) {
  17. // 通过eventChannel向被打开页面传送数据
  18. res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
  19. }
  20. })

5、wx.navigateBack(页面返回)

关闭当前页面,返回上一页面或多级页面。可通过 getCurrentPages 获取当前的页面栈,决定需要返回几层。

  1. // 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会。见下方示例代码
  2. // 此处是A页面
  3. wx.navigateTo({
  4. url: '/B?id=1'
  5. })
  6. // 此处是B页面
  7. wx.navigateTo({
  8. url: '/C?id=1'
  9. })
  10. // 在C页面内 navigateBack,将返回A页面
  11. wx.navigateBack({
  12. delta: 2
  13. })

6、接收数据

  1. //接收页面test.js
  2. Page({
  3. onLoad: function(option){
  4. //通过?id=1&name=2传的数据接收
  5. console.log(option.query);
  6. //eventChannel
  7. const eventChannel = this.getOpenerEventChannel()
  8. eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'});
  9. eventChannel.emit('someEvent', {data: 'test'});
  10. // 监听acceptDataFromOpenerPage事件,获取上一页面通过eventChannel传送到当前页面的数据
  11. eventChannel.on('acceptDataFromOpenerPage', function(data) {
  12. console.log(data)
  13. })
  14. }
  15. })
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号