微信小程序页面常用的5种跳转方法

微信小程序页面常用的5种跳转方法,第1张

为了不让用户在使用小程序时造成困扰,微信小程序规定页面路径只能是 五层 ,所以需尽量避免多层级的交互方式。 而页面跳转则涉及到多个页面层级。

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

需要跳转的应用内非 tabBar 的页面的路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;

如 'path?key=value&key2=value2'

eg:

wx.navigateTo({

    url:'test?id=1'

})

这种跳转方式默认有返回按钮,返回到上一个页面

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

需要跳转的应用内非 tabBar 的页面的路径,路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;

如 'path?key=value&key2=value2'

eg:

wx.redirectTo({

    url:'test?id=1'

})

这种跳转方式默认有返回按钮,返回到上一个页面的再上一层

需要跳转的应用内页面路径 , 路径后可以带参数。参数与路径之间使用?分隔,参数键与参数值用=相连,不同参数用&分隔;

如 'path?key=value&key2=value2',如果跳转的页面路径是 tabBar 页面则不能带参数

eg:

wx.reLaunch({

    url:'test?id=1'

})

这种跳转方式默认没有返回按钮,不需要默认返回按钮的页面就可以使用这个api了

需要跳转的 tabBar 页面的路径(需在 app.json 的  tabBar  字段定义的页面),路径后不能带参数

{

    "tabBar": {

        "list": [{

            "pagePath":"index",

            "text":"首页"

        },{

            "pagePath":"other",

            "text":"其他"

        }]

    }

}

wx.switchTab({

url:'/index'

})

我们需要调转到tabbar定义的页面的时候,就需要这个api了。踩过这个坑的人就知道,除了这个api,其他的都不能跳转到tabar定义过的页面

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

微信小程序 某个页面直接返回首页(微信小程序回退到首页)

打开小程序后,到三级页面后点击左上角的返回按钮,能够直接返回到首页

正常 A ->B ->C 都是通过 wx.navigateTo 跳转的,所以 wx.navigateBack 只能返回上一界面,如果要返回到A 界面就会出现 C ->B ->A 的效果。

如果想实现 A ->B ->C 当 C 点击返回时, 实现直接 C ->A 这种效果, 就只能A ->B 通过 wx.navigateTo 跳转 ,

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

例如:

第一个页面采用navigateTo,

在第二个页面中使用redirectTo。

这里是重点:

在第三个页面点击回退时,会直接回到第一个页面

。(wx.redirectTo()跳转到新页面之后,会自动销毁上一个页面,在新页面点击返回按钮时,会直接回到上上一个页面)

这是相当于在这个回退过程中直接销毁第二个页面

小程序5种跳转页面方式的区别:

//只能跳转到tabBar配置页面

//返回上一级页面(delta:返回的页面数,如果 delta 大于现有页面数,则返回到首页,默认值为1)

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

//保留当前页面,跳转到应用内的某个页面

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

跳转至另外一个页面,不会把之前的页面销毁。但是带有返回箭头,点击可以返回到上一页,但是回到上一页的时候不会重新刷新这一页的数据。

跳转至tabbar页,当用户点击时,会跳转到相应的tabbar页面,只能跳转到tabbar页面,其他页面不支持。

跳转至另一界面,与wx.navigateTo()不同的是wx.redirectTo()跳转后的页面没有返回箭头,如果需要返回需自定义返回按钮。wx.redirectTo()和wx.navigateTo()各有各的好处,wx.redirectTo()在使用自定义按钮返回上一层后之前页面会进行刷新,而wx.naviagteTo()会保留之前界面。可根据产品需求进行选择

关闭所有页面,打开到应用内的某个页面.跟wx.redirectTo 一样左上角不会出现返回箭头.

返回的时候想要刷新数据,将方法放在onShow()方法里面。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11287639.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-15
下一篇 2023-05-15

发表评论

登录后才能评论

评论列表(0条)

保存