uniapp 跳转页面 和 记录一些其他的坑

在uniapp 中跳转页面,和vue差别很大,复杂一点但是更加的灵活

// 关闭当前页,返回上一页面或多级页面。
uni.navigateBack({
    delta: 1
});

// 保留当前页,跳转到非tabbar页面,使用uni.navigateBack可以返回到原页面。
uni.navigateTo({
    url: url
})

// 跳转到 tabBar 页面,并关闭其他所有非 tabBar 页面。
uni.switchTab({
    url: url
})

// 关闭所有页面,打开到应用内的某个页面。
uni.reLaunch({
    url: url
})

// 关闭当前页面,跳转到应用内的某个页面。
uni.redirectTo({
    url: url
});

  • 页面跳转路径有层级限制,不能无限制跳转新页面
  • 跳转到 tabBar 页面只能使用 switchTab 跳转

这些uniapp提供的api都有除了 url 的其他参数,常见的有   success fail complete

也比如 第一个navigateBack 有特殊参数 delta :(数字) 控制返回几层

传参

我们在生命周期 onload 中接收参数

onLoad(data) {}

当我们需要传递一个对象/数组的时候,拼接的字符串太长可能会有问题,而且也不好看

推荐使用 JSON 字符串 解决这个问题,也更加易读

频繁跳转

在真机调试的时候发现频繁的跳转,可能会出现 不能跳转的问题,也没有报错,最后换了一种跳转方式

这是原来的:

uni.navigateTo({}) 保留当前页面,跳转到应用内的某个页面,使用uni.navigateBack可以返回到原页面。

直接使用 uni.redirectTo()

 就是碰到了上面提到的注意事项 页面跳转路径有层级限制,不能无限制跳转新页面,最好我们在跳转的时候即时的关闭页面


版权声明:本文为paidaboluo原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。