• 技术文章 >微信小程序 >小程序开发

    小程序开发之页面上拉加载数据(附代码)

    不言不言2019-01-23 10:53:23转载2111

    本篇文章给大家带来的内容是关于小程序开发之页面上拉加载数据(附代码),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

    需求是上拉加载数据,实际就是获取分页数据。后台就是正常的ajax请求分页数据,小程序部分稍复杂些,查了一些资料完成的, 但是资料的链接找不到了,不能放上以供参考了。

    小程序页面

    涉及到数据循环,下面是简单的实例

     <view wx:for="{{array}}">
         <view >{{item.name}}</view>
         <view >{{item.age}}</view>
      </view>
    MVVM 的开发模式(例如 React, Vue),提倡把渲染和逻辑分离。简单来说就是不要再让 JS 直接操控 DOM,JS只需要管理状态即可,然后再通过一种模板语法来描述状态和界面结构的关系即可。

    小程序JS部分

    JS部分负责的是获取数据,以及拼接数据

    Page({
    
        /**
         * 页面的初始数据
         */
        data: {
            array: [],
            page: 1,
            isReachBottom: true // 是否上拉加载
        },
    
        // 获取数据
        getList: function () {
            var that = this;
            wx.request({
                url: 'https://xxx',
                data: {
                    p: that.data.page
                },
                success: function (res) {
                    if (res.data.message == 'success') {
                        // 获取成功,数据追加
                        var list = [];
                        var count = res.data.data.length
                        for (var i = 0; i < count; i++) {
                            var data = {name: '', age: ''};
                            data.name = res.data.data[i].name;
                            data.age = res.data.data[i].age;
                            list.push(data);
                        }
                        Array.prototype.push.apply(that.data.array, list);
                        that.setData({
                            array: that.data.array
                        })
                    } else if (res.data.message == 'finish') {
                        // 没有数据,禁止再次上拉加载
                        that.setData({
                            isReachBottom: false
                        })
                    }
                }
            })
        },
    
        /**
         * 页面上拉触底事件的处理函数
         */
        onReachBottom: function () {
            if (this.data.isReachBottom == true) {
                this.setData({
                    page: this.data.page + 1
                })
                this.getList()
            }
        }
    
    })

    关于上拉触底,还有这些特性

    8701366-e7ae4d7ed6cbd292.png

    以上就是小程序开发之页面上拉加载数据(附代码)的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:微信小程序 php
    上一篇:小程序开发之左滑删除页面(代码示例) 下一篇:小程序开发之新页面链接打开的方法(代码示例)
    20期PHP线上班

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• 微信小程序开发:Flex布局• 微信小程序开发需要学习点什么?• 微信小程序开发技术总结• 微信小程序开发之图片上传+服务端接收教程• 微信小程序开发组件—导航
    1/1

    PHP中文网