navigateTo、redirectTo、switchTap与reLaunch的区别

 wx.navigateTo:保留当前页,跳转到指定页,非tabBar;使用 wx.navigateBack 可以返回到当前的页面。

uni-app保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。

要注意的是navigateTo只能跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数;如果跳转url参数为tabBar的路径则无法进行跳转

wx.redirectTo:关闭当前页,跳转到指定页,非tabBar;将无法回到当前页面。

关闭当前页面,跳转到应用内的某个页面。

需要跳转的应用内非 tabBar 的页面的路径,路径后可以带参数

wx.reLaunch:是关闭所有页面,跳转到指定页,非tabBar的页面。

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

需要跳转的应用内页面路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;如 'path?key=value&key2=value2',与redirectTo不同的是如果跳转的页面路径是 tabBar 页面则不能带参数

wx.switchTap:只能用于跳转到tabbar页面,并关闭其他非tabbar页面。

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

需要跳转的 tabBar 页面的路径,路径后不能带参数

注:tabBar 页面为需在 pages.json 的 tabBar 字段定义的页面

wx.navigateTo和wx.redirectTo只能跳转到非TabBar的页面路径;

wx.navigateTo 跳转到应用中的某个页面,会保留当前页,使用wx.navigateBack可以返回原页面;

wx.navigateTo跳转的页面路径层级最多5层;

wx.navigateBack可以返回上一页面或多级页面。可通过getCurrentPages()获取当前页面栈,决定需要返回基层。

有时候跳转还需要携带参数,例如:

wx.navigateTo({

        url: '/pages/item/item?name=' + name,

})

item页的取值的方式

onLoad: function (options) {

    var that = this;

    that.setData({

      name: options.name,

    })

}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容