关闭当前页面,返回上一页面或多级页面。可经过 getCurrentPages()
获取当前的页面栈,决定须要返回几层。php
OBJECT 参数说明:html
参数 | 类型 | 默认值 | 说明 |
---|---|---|---|
delta | Number | 1 | 返回的页面数,若是 delta 大于现有页面数,则返回到首页。 |
示例代码:json
// 注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会。见下方示例代码 // 此处是A页面 wx.navigateTo({ url: 'B?id=1' }) // 此处是B页面 wx.navigateTo({ url: 'C?id=1' }) // 在C页面内 navigateBack,将返回A页面 wx.navigateBack({ delta: 2 })
wx.redirectTo(OBJECT)
关闭当前页面,跳转到应用内的某个页面。
仍是用上面的三张图示做为例子,当使用wx.redirctTo接口跳转页面时,原来的页面将被删除掉,固然,这是小程序框架删除的并非咱们本身编写代码删除的,是腾讯把删除原页面的功能封装在了这个接口里面。
当点击“A页面”进入到“B页面”时,原“A页面”将被删除掉,只留下当前页面“B页面”,若是从“B页面”又进入到了“C页面”后,那么,“B页面”也被删除掉了,当前页面就是“C页面”。
若是我想回到“A页面”或“B页面”能够回去吗? 不能,由于,已经被小程序框架给销毁了,只能直接回到小程序的首页。
这就是这个接口wx.redirectto与wx.navigateTo的最主要区别。
小程序
接口wx.redirectto与wx.navigateTo的OBJECT 参数相同,以下表所示:
微信小程序
OBJECT 参数说明:微信
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
url | String | 是 | 须要跳转的应用内非 tabBar 的页面的路径 , 路径后能够带参数。参数与路径之间使用? 分隔,参数键与参数值用= 相连,不一样参数用& 分隔;如 'path?key=value&key2=value2' |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
这两个接口里面的路径url后能够带参数,例如:
app
wx.redirectTo({ url: 'test?id=1' }) |
当用户点击这个跳转后,就会一同把id值为1的参数带到test页面里面。
跳转带参数很是重要,因此,下面作一个完整的实例来说解带参数是如何实现的。框架
要求:当点击页面navigate,把id=9的参数带到新页面login页面,在login页面接收这个参数值,根据业务须要来处理这个id值。
navigate页面和login页面在同一个目录里面,以下图所示:
navigate.wxml代码:
函数
<view catchtap="ontouch" id="9"> <button >跳转带参数测试</button> </view> |
当用户点击这个按扭后,就会触发事件ontouch,并把一个事件对象带到navigate.js文件里面ontouch函数里面。
这个事件对象是:
ontouch:function(e){ console.log(e) wx.navigateTo({ url: '../login/login?id='+e.currentTarget.id, success: function (e) { console.log(e) } }) |
login.js代码:
onLoad: function (options) { console.log(options) } |
这样当点击“跳转带参数测试”按扭后就会在login.js文件里面的onLoad函数里面获取到一个对象options,options以下所示:
Object {id: "9"} |
显示options是一个对象,对象里面的id值正是从页面navigate.wxml获取到的id的值。
至于,获取到上一个面页作什么,微信小程序开发者能够根据本身的业务须要来处理。
跳转到 tabBar 页面,并关闭其余全部非 tabBar 页面
OBJECT 参数说明:
参数 | 类型 | 必填 | 说明 |
---|---|---|---|
url | String | 是 | 须要跳转的 tabBar 页面的路径(需在 app.json 的 tabBar 字段定义的页面),路径后不能带参数 |
success | Function | 否 | 接口调用成功的回调函数 |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
示例代码:
{ "tabBar": { "list": [{ "pagePath": "index", "text": "首页" },{ "pagePath": "other", "text": "其余" }] } }
wx.switchTab({ url: '/index' })