小程序多种路由跳转的区别

前言

从Anjular转换到微信小程序,从功能丰富,便捷操作的WebStorm转换到十分难用,不是很人性的微信开发者工具,一开始真的特别不适应,也许是心理作用吧,从一开始就觉得它不好用,后来也是写不下去,后来调整心态,说试试看吧,后来就是越写越顺手,感觉也挺好的,初次接触小程序也是摸着石头过河,要啥就搜啥,期间要用到页面跳转(现在可能用不到了,当时对需求不是很了解,但是以后的功能应该会用到),然后找了很多资料,发现跳转也分很多种,当时就选了一个用上了,后来又试了试别的,发现真的是各有其用。

 

wx.navigateTo(Object object)

navigateTo 是打开新界面,打开新界面之后,当前页处于什么状态呢,点击返回返回的又是哪一页呢,打开控制台试验一下,在此之前,先了解一下页面的生命周期:

函数功能
onLoad 监听页面加载
onReady 监听页面初次渲染完成
onShow 监听页面显示
onHide 监听页面隐藏
onUnload 监听页面关闭

我们先给标签加跳转功能

<van-sidebar active-key="{{ activeKey }}">

<van-sidebar-item class="menufont" bindtap="food" title="食材" />

<van-sidebar-item class="menufont" title="包装" />

<van-sidebar-item class="menufont" title="配送" />

</van-sidebar>

我们给“食材”一项加跳转功能,在标签加入bindtap属性,定义的方法名是什么,它的值就是什么,然后在ts文件里添加方法:

food(){
wx.navigateTo({
url:'../food/food'
  })
},

这样就实现了从index界面跳转到food界面,我们对每个界面添加了onLoad()、onShow()、onHide()、onUnload()方法监控他们的状态,index界面跳转到Page1界面,再由Page1界面跳转到Page2界面,看一下控制台的信息:

通过以上信息我们可以发现,跳转后之前的界面隐藏了起来,返回时当前界面被关闭。

 

wx.redirectTo(Object object)

redirectTo是关闭当前界面,跳转到下一界面,那么此时我再返回,返回的是哪个界面呢。
将之前Page1跳转到Page2的函数修改为redirectTo,然后看控制台:

跳转后,之前的界面关闭,再次返回返回的最近的隐藏的界面。

资源搜索网站大全https://55wd.com 广州品牌设计公司http://www.maiqicn.com

wx.reLaunch(Object object)

reLaunch 关闭所有页面,打开到应用内的某个页面,那么返回的又是哪个界面呢。
将之前Page1跳转到Page2的函数修改为reLaunch,然后看控制台:

之前的所有界面关闭,返回时跳转回初始界面index。

 

总结

小程序的跳转种类真的挺多的,如果真正把握好隐藏还是关闭,返回界面是哪个,页面跳转真的能省力不少,一开始认为小程序挺难写的,后来才明白不是它难写,而是我认为它难写,心态真的挺重要的。

 

posted @ 2020-09-29 18:14  浅笑·  阅读(244)  评论(0编辑  收藏  举报