项目实战丨页面跳转传值心得体会

在项目开发中,我们很多时候都会遇到需要点击按钮跳转页面的情况。HTML中我们使用标签或者监听标签的onclick事件来达到预期效果,而在小程序中,官方提供了以下六种跳转方式。

路由跳转方式 描述
wx.switchTab(API) 跳转到tabBar页面,并关闭其他所有非tabBar页面
wx.reLaunch(API) 关闭所有页面,打开到应用内的某个页面
wx.redirectTo(API) 关闭当前页面,跳转到应用内的某个页面。但是不允许跳转到tabbar页面。
wx.navigateTo(API) 保留当前页面,跳转到应用内的某个页面,但是不能跳转到tabbar页面。使用wx.navigateBack可以返回到原页面。
wx.navigateBack(API) 关闭当前页面,返回上一页面或多级页面。可以通过getCurrentPages获取当前的页面栈,决定需要返回几层。
navigator(组件) 页面中使用链接跳转,相当于HTML中的标签用法

很多时候我们都需要在页面跳转时进行传值,以上六种方式中只有wx.switchTabwx.navigateTo不能传递参数外,其他四种都可以带参数进行页面跳转。而我们跳转一般都需要保留当前页面,不需要对当前页面进行销毁,所以我们选择组件navigator或者API 接口中的wx.navigateTo来实现带参数跳转效果。

在2.7.3基础库版本之前,两者跳转方式都是在url后拼接参数。如“path?key=value&key2=value2”。但在2.7.3基础库之后,官方提供了一种新的参数传递方式,但只在wx.navigateTo接口中有效。

我们该选择哪种跳转方式?

如何选择跳转方式,并不是根据我们心情去选择的,我们应该根据实际业务以及参数类型等来选择跳转方式。

两种方式对字符串传递的比较:

你可能感兴趣的:(项目实战丨页面跳转传值心得体会)