小程序二

2021-01-04  本文已影响0人  李小白呀

11.网络数据请求

1.发起GET请求

// 发起GET请求
onTapGet () {
    wx.request({
        // 请求地址,必须是以https://开头
        // 必须是配置在request合法域名
        url: 'https://www.escook.cn/api/get',
        // 请求方式
        method: 'GET',
        // 请求参数
        data: {
            name: 'zs',
            age: 22
        },
        // 请求成功的回调
        success: (res) => {
            console.log(res)
        }
    })
}

2.发起post请求

// 发起GET请求
onTapPost () {
    wx.request({
        // 请求地址,必须是以https://开头
        // 必须是配置在request合法域名
        url: 'https://www.escook.cn/api/post',
        // 请求方式
        method: 'POST',
        // 请求参数
        data: {
            name: 'lisi',
            age: 18
         },
        // 请求成功的回调
        success: (res) => {
            console.log(res)
         }
    })
}
  1. 声明式导航

1.导航到 tabBar 页面

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

  1. 导航到非 tabBar 页面

3.后退导航

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

注意:

13.编程式导航

1.导航到 tabBar 页面

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

image.png

示例代码如下:

<!--
编程式导航
跳转至tabBar页面
-->
<button bindtap="gotoMessage">跳转到messae页面</button>
    /*
    通过编程式导航
    跳转至tabBar页面
    message页面
    */
    gotoMessage () {
      wx.switchTab({
         // 代表要跳转的路径
         url: '/pages/message/message',
    })
},
  1. 导航到非 tabBar 页面

调用 wx.navigateTo(Object object) 方法,可以跳转到非 tabBar 的页面。

其中 Object 参数对象的属性列表, 如下:

image.png

示例代码如下:

<!--
编程式导航
跳转至非 tabBar页面
-->
<button bindtap="gotoInfo">跳转到Info页面</button>
/*
通过编程式导航
跳转至非tabBar页面
Info页面
*/
gotoInfo () {
    wx.navigateTo({
        url: '/pages/info/info',
    })
},

3.后退导航

调用 wx.navigateBack(Object object) 方法,可以返回上一页面或多级页面。

其中 Object 参数对象可选的, 属性列表如下:

image.png

示例代码如下:

<!--
通过编程式导航实现后退导航
-->
<button bindtap="goBack">编程式导航实现后退</button>
/*
通过编程式导航实现后退导航
*/
goBack () {
    // 如果不传递参数就是返回上一页
    // 如果要传递参数则是传递 delta数字型, 代表返回的层级。
    wx.navigateBack()
},

注意: tabBar 页面是不能实现后退的效果的.

14.导航传参

  1. 声明式导航传参

navigator组件的 url 属性用来指定将要跳转到的页面的路径。

<!--
声明式导航传参
参数与路径之间使用 ? 分隔
参数键与参数值用 = 相连
不同参数用 & 分隔
-->
<navigator url="/pages/info/info?name=zs&age=20">跳转至info页面</navigator>
  1. 编程式导航传参

wx.navigateTo(Object object) 方法跳转页面

<!--
编程式导航传参
-->
<button bindtap="gotoInfo2">跳转到info页面</button>
    /*
        编程式导航传递参数
    */
    gotoInfo2 () {
        wx.navigateTo({
            url: '/pages/info/info?name=李&gender=男',
        })
    },
  1. 在 onLoad 中接收导航参数

通过声明式导航传参或编程式导航传参所携带的参数,可以直接在 onLoad 事件中直接获取到

/**
* 页面的初始数据
*/
data: {
// 导航传递的参数
    query: {}
},
/**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
    // 通过声明式导航和编程式导航 都可以
    // 在onLoad声明周期函数中获取传递的参数
    console.log(options);
    // 将导航传递的参数转存在data中
    this.setData({
        query: options
    })
},

15.下拉刷新事件

1.开启下拉刷新:

2.. 配置下拉刷新窗口的样式

3.监听页面的下拉刷新事件

4.停止下拉刷新的效果

16.上拉触底事件

1.监听页面的上拉触底事件

在页面的 js 文件中,通过 onReachBottom() 函数即可监听当前页面的上拉触底事件。

2.配置上拉触底距离

上拉触底距离指的是触发上拉触底事件时,滚动条距离页面底部的距离。

可以在全局或页面的 .json 配置文件中,通过 onReachBottomDistance节点来配置上拉触底的距 离。

3.对上拉触底进行节流处理

①在 data 中定义 isLoading 节流阀

② 在 getColors() 方法中修改 isloading 节流阀的值

③ 在 onReachBottom 中判断节流阀的值,从而对数据请求进行节流控制

上一篇下一篇

猜你喜欢

热点阅读