小程序页面跳转的几个方法和区别

2018-11-12  本文已影响0人  KosmoSakura

目前小程序的几个页面跳转方式的主要区别就两点:

两个通用属性


下面是对几个跳转方式的整理说明


1.wx.navigateTo({})

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

关于Url参数:

wx.navigateTo({
    url:'../test/test?id=1&page=4',//跳转页面的路径,可带参数?隔开,不同参数用 & 分隔;相对路径,不需要.wxml后缀
    success:function(){}        //成功后的回调;
    fail:function(){}          //失败后的回调;
    complete:function(){}      //结束后的回调(成功,失败都会执行)
})

传递的参数在接收页面onLoad()函数中得到值:option.id就可以得到了
onLoad: function (option) {
  console.log(option)//可以打印一下option看查看参数
    this.setData({
        id:option.id,
});
1.1.wx.navigateBack(OBJECT)

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

关于参数:

delta-->类型:Number,
默认值:1 ,
说明:返回的页面数,如果 delta 大于现有页面数,则返回到首页。

注意:调用 navigateTo 跳转时,调用该方法的页面会被加入堆栈,而 redirectTo 方法则不会。见下方示例代码

// 此处是A页面
wx.navigateTo({
  url: 'B?id=1'
})

// 此处是B页面
wx.navigateTo({
  url: 'C?id=1'
})

// 在C页面内 navigateBack,将返回A页面
wx.navigateBack({
  delta: 2
})

2.wx.redirectTo(OBJECT)

关闭(之前的页面是回不去的)当前页面,跳转到非tabBar的某个页面

关于Url参数:

3.wx.reLaunch(OBJECT)

关闭(之前的页面是回不去的)所有页面,打开到应用内的某个页面。

关于Url参数:

4.wx.switchTab(OBJECT)

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

关于参数:

wx.switchTab({ 
    url: '/pages/home/home' 
});

5.组件 <navigator>

直接写在布局里面的跳转方式

参数说明:

eg:

<navigator url="/pages/detail/detail">点击跳转</navigator>


参考:小程序官方文档

上一篇 下一篇

猜你喜欢

热点阅读