wx.navigateTo()与wx.switchTab、wx.redirectTo()的区别

这篇具有很好参考价值的文章主要介绍了wx.navigateTo()与wx.switchTab、wx.redirectTo()的区别。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

wx.switchTab(Object object)

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

wx.switchTab({
	url: '../sew/sew',
	success: function (res) {
		var page = getCurrentPages().pop();
		if (page == undefined || page == null) return;
		page.onShow();
		console.log('跳转成功')// success
	},
	fail: function (res) {
		console.log('跳转失败')  // fail
	},
	complete: function (res) {
		console.log('跳转页面完成') // complete
	}
})

wx.navigateTo()

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

wx.navigateTo({
  url: 'test?id=1',
  events: {
    // 为指定事件添加一个监听器,获取被打开页面传送到当前页面的数据
    acceptDataFromOpenedPage: function(data) {
      console.log(data)
    },
    someEvent: function(data) {
      console.log(data)
    }
    ...
  },
  success: function(res) {
    // 通过 eventChannel 向被打开页面传送数据
    res.eventChannel.emit('acceptDataFromOpenerPage', { data: 'test' })
  }
})
//test.js
Page({
  onLoad: function(option){
    console.log(option.query)
    const eventChannel = this.getOpenerEventChannel()
    eventChannel.emit('acceptDataFromOpenedPage', {data: 'test'});
    eventChannel.emit('someEvent', {data: 'test'});
    // 监听 acceptDataFromOpenerPage 事件,获取上一页面通过 eventChannel 传送到当前页面的数据
    eventChannel.on('acceptDataFromOpenerPage', function(data) {
      console.log(data)
    })
  }
})

wx.redirectTo(Object object)

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

wx.redirectTo({
  url: 'test?id=1'
})

wx.switchTab、wx.redirectTo()的区别

相同:

url: 需要跳转的应用内非 tabBar 的页面的路径 (代码包路径), 路径后可以带参数。参数与路径之间使用 ? 分隔,参数键与参数值用 = 相连,不同参数用 & 分隔;如 ‘path?key=value&key2=value2’

不同:
navigateTo: (navigate导航)从父页面导航到下一个子页面,然后还可以再回退到父目录,一般默认是最多深入5个页面可以被记录进行回退。
redirectTo:(redirect重定向)在当前页面直接重定向到另一个页面,所以也不存在回退到原页面的情况。文章来源地址https://www.toymoban.com/news/detail-483862.html

到了这里,关于wx.navigateTo()与wx.switchTab、wx.redirectTo()的区别的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 小程序跳转方法wx.navigateTo无法跳转,不生效

    第一种:请核对是否和下面方法一样的格式并检查是否在app.json中定义 第二种:wx.navigateTo无法跳转至tabBar中含有的页面

    2024年02月15日
    浏览(49)
  • 微信小程序中使用wx.navigateTo跳转时页面出现空白

    在微信小程序中当触发点击事件后跳转的页面时,跳转的页面出现空白,控制台报Page \\\"pages/outline-xi/outline-xi\\\" has not been registered yet.可能是因为使用了tabbar时导致的app.json没有使页面初始化,需要把不是tabbar的页面调在前面就能解决问题。  

    2024年02月16日
    浏览(38)
  • 微信小程序wx.navigateTo传给子页面参数(单个参数、多个参数)

    子页面接收 传多个参数 子页面接受 假设值是后端传过来的动态的值

    2024年02月07日
    浏览(48)
  • 【微信小程序内嵌H5调用wx.miniProgram.navigateTo跳转无效问题】

    之前项目遇到的,各种判断逻辑都走通了,代码走到wx.miniProgram.navigateTo面前了就是跳转不了,试了很多种方法,都怀疑是这个api不适用了,结果一次尝试,发现还是地址的问题。 客户给的跳转地址: “pages/check/index/index.html?type=1” 试过但没成功的地址: “/pages/check/index/i

    2024年02月16日
    浏览(58)
  • H5跳回小程序的wx.miniProgram.navigateTo不起效果,无法跳转页面,已解决

     需求:H5中的点击首页按钮跳回小程序的首页,就写了以下代码    结果并没有跳转成功,但是alert成功,于是查找资料,换了各种api比如switchTab,redirectTo都不行,找了好多博主的帖子发现都不行,问题肯定出在url上面,于是改成下面这样,就可以成功跳转了,不得不说啊

    2024年02月11日
    浏览(50)
  • 小程序使用webview嵌套H5中使用iframe真机无法跳转 wx.miniProgram.navigateTo等失效问题

    小程序使用webview嵌套H5真机无法跳转 wx.miniProgram.getEnv、wx.miniProgram.navigateTo等失效无响应问题分享 原因分析:由于页面使用了iframe导致在子页面中真机无法准确获取页面运行环境(开发者工具中无影响); 解决方案:在调用方法前加一个 parent. 在父页面中调用方法即可正常运

    2024年02月03日
    浏览(54)
  • uniapp中navigator、redirectTo、reLaunch、switchTap区别,小程序路由详情记录

    保留当前页面,跳转到别的页面,使用uni.navigateBack返回原页面 navigateTo传递值 传递字符串or对象详情 navigateBack不能在url上传参 ①可以使用getCurrentPages()获取当前页面的页面栈,navigateBack指定返回几页的方法 ②使用setData()函数,小程序内置的一个函数,可以改变逻辑层下的

    2024年02月08日
    浏览(22)
  • 【微信小程序】通过使用 wx.navigateTo方法进行页面跳转,跳转后的页面中通过一些方式回传值给原页面

    以下是几种常见的回传值的方式: 使用 wx.navigateTo 方法传递参数: 在跳转时,可以在目标页面的 URL 中携带参数,然后在目标页面的 onLoad 方法中获取参数,并在目标页面中进行处理。例如: 在目标页面的 onLoad 方法中获取参数: 使用 wx.navigateBack 方法回传值: 在目标页面中

    2024年02月13日
    浏览(56)
  • wx:if和hidden 的区别

    wx:if和hidden都是用来控制微信小程序中的元素是否显示 !wx:if   wx:if 是惰性的,初始条件为false时,框架什么也不做,在条件第一次为true时才开始局部渲染。     此时如果isShow这个条件为false 那么图中的盒子将不会显示。  !hidden hidden:组件始终都会被渲染,只是根据变量来简

    2024年02月15日
    浏览(26)
  • 小程序wx:if和hidden的区别?

    wx:if : wx:if  是一个完整的条件渲染指令,当它的表达式为真时,才会渲染该指令所在的元素。如果表达式的值为假,则不会渲染该元素。这意味着在表达式为假时,该元素及其子元素都不会被渲染,就像它们从未存在过一样。 例如: hidden : hidden  是一个布尔属性,用于控

    2024年02月02日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包