微信小程序-(七)页面导航
本文最后更新于:March 28, 2022 pm
微信小程序,小程序的一种,英文名Wechat Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用“触手可及”的梦想,用户扫一扫或搜一下即可打开应用。也体现了“用完即走”的理念,用户不用关心是否安装太多应用的问题。应用将无处不在,随时可用,但又无需安装卸载。对于开发者而言,微信小程序开发门槛相对较低,难度不及APP,能够满足简单的基础应用,适合生活服务类线下商铺以及非刚需低频应用的转换。
目录
声明式导航
- 在页面上声明一个
<navigator>
导航组件。 - 通过点击
<navigator>
组件实现页面跳转。
导航到tabBar页面
rabBar页面指的是被配置为tabBar的页面。
在使用 <navigator>
组件跳转到指定的tabBar页面时,需要指定 url
属性和 open-type
属性:
- url表示要跳转到的页面地址,必须以
/
开头。 - open-type 表示跳转的方式,必须为
switchTab
。
示例:
1 |
|
导航到其他页面
即导航跳转到没有被配置到tabBar的页面。和上面类似:
在使用 <navigator>
组件跳转到其他指定的页面时,需要指定 url
属性和 open-type
属性:
- url表示要跳转到的页面地址,必须以
/
开头。 - open-type 表示跳转的方式,必须为
navigate
。
示例:
1 |
|
其中,不写open-type也可以!因为默认就是 navigate 。
后退导航
如果要后退到上一页面或者多级页面,则需要指定 open-type
属性和 delta
属性,其中:
- open-type 的值必须是
navigateBack
,表示要进行后退导航。 - delta 的值必须是数字,表示要后退的层级。如果只是后退到上一页面,则可以省略 delta 属性,因为默认值为 1。
注意:如果上一级是tabBar页面,则不能返回!即,后退只发生在非tabBar页面上。
示例:
1 |
|
编程式导航
- 调用小程序的导航API、实现页面的跳转。
导航到tabBar页面
调用 wx.switchTab(Object object)
方法,可以跳转到 tabBar 页面。其中Object参数对象的属性列表有:
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
url |
string | 是 | 需要跳转的tabBar页面的路径,路径后不能带参数 |
success |
function | 否 | 接口调用成功的回调函数 |
fail |
function | 否 | 接口调用失败的回调函数 |
complete |
function | 否 | 接口调用结束的回调函数(成功、失败都会执行) |
示例:
1 |
|
1 |
|
导航到其他页面
调用 wx.navigateTo(Object object)
方法,可以跳转到其他页面。其中Object参数对象的属性列表同 导航到tabBar页面
中的属性列表一样。只不过url是跳转到非tabBar页面而已。
示例:
1 |
|
1 |
|
后退导航
调用 wx.navigateBack(Object object)
方法,可以返回上一页面或多级页面。其中 Object 参数对象的属性列表有:
属性 | 类型 | 必填 | 说明 |
---|---|---|---|
delta |
number | 否 | 默认值为1。返回的页面数,如果delta大于现有页面数,则返回到首页。 |
success |
function | 否 | 接口调用成功的回调函数 |
fail |
function | 否 | 接口调用失败的回调函数 |
complete |
function | 否 | 接口调用结束的回调函数(成功、失败都会执行) |
示例:
1 |
|
1 |
|
导航传参
声明式导航传参
navigator
组件的url 属性用来指定将要跳转到的页面的路径。同时,路径后面还可以携带参数:
- 参数与路劲之间使用问号(?)分割
- 参数的键与值用等号(=)相连
- 不同参数用按位与(&)分割
示例:
1 |
|
编程式导航传参
调用 wx.navigateTo(Object object)
方法跳转页面时,可以携带参数。
示例:
1 |
|
在onLoad中接受导航参数
通过声明式导航传参
或编程式导航传参
所携带的参数,可以直接在 onLoad
事件中直接获取得到。示例:
1 |
|
通过 onLoad
获取参数并赋值:
1 |
|
本文作者: 墨水记忆
本文链接: https://tothefor.com/DragonOne/6dd1eb53.html
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!