小程序中实现页面导航的两种方式


声明式导航
    在页面上声明一个<navigator>导航组件

    通过点击<navigator>组件实现页面跳转
1.导航到tabBar页面

        tabBar 页面指的是被配置为tabBar的页面。

        在使用<navigator>组件跳转到指定的 tabBar页面时,需要指定url属性和open-type属性,其中:

        url表示要跳转的页面的地址,必须以 / 开头 

        open-type表示跳转的方式,必须为switchTab

示例代码如下:

 

<navigator url="/pages/message/message" open-type= "switchTab">导航到消息页面</navigator >

2.导航到非tabBar页面

          非tabBar 页面指的是没有被配置为tabBar的页面。

          在使用<navigator>组件跳转到普通的非 tabBar页面时,则需要指定url属性和open-type属性,其中:

          url表示要跳转的页面的地址,必须以/开头

          open-type表示跳转的方式,必须为navigate

          示例代码如下:

   

 <navigator url="/pages/info/info" open-type="navigate">导航到 info页面</navigator>
<navigator url="/pages/info/info" >导航到 info页面</navigator>

3.后退导航


如果要后退到上一页面或多级页面,则需要指定open-type属性和 delta属性,其中:

open-type的值必须是 navigateBack,表示要进行后退导航

delta 的值必须是数字,表示要后退的层级

示例代码如下:

<navigator open-type="navigateBack" delta="1">返回上一页</navigator>

注意:为了简便,如果只是后退到上一页面,则可以省略delta属性,因为其默认值就是1。

<navigator open-type="navigateBack" >返回上一页</navigator>


编程式导航

1.导航到tabBar页面
   调用wx.switchTab(Object object)方法,可以跳转到tabBar页面。其中Object参数对象的属性列表如下

 

代码示例:

   

    <button bindtap="onMessage">跳转message页面</button>

   // 通过编程式导航跳转到tabBar页面,跳转message页面
    onMessage(){
      console.log(123);
      wx.switchTab({
        url: '/pages/message/message',
      })
    },

2.导航到非tabBar页面

示例代码如下:


3.后退导航

示例代码如下:

 

1.声明式导航传参

navigator组件的url属性用指定将要跳转到的页面的路径。同时,路径的后面还可以携带参数:

参数与路径之间使用?分隔

参数键与参数值用=相连

不同参数用&分隔
代码示例如下:

 

2.编程式导航传参
调用wx.navigateTo(Object object)方法跳转页面时,也可以携带参数,代码示例如下:

posted on 2022-03-27 16:58  最贵不过坚持  阅读(360)  评论(0)    收藏  举报