• 全栈工程师之路-中级篇之小程序开发-第三章第三节正在加载,loading状态


    继前一篇文章,我们已经实现了小程序中的上拉加载和下拉刷新,
    如果用户网络较差的情况下,或者服务端返回处理较慢的情况下,
    那么我们的页面在这段时间内没有等待提示。
    或者服务端返回数据之后,我们的页面又好像突然之间出现的,
    这整个过程中的用户体验并不是很好,不理解什么是用户体验的,
    那可以换一种方式,就是说整个过程让使用者觉得并不是很舒服。
    所以通常在请求发起到请求响应的这个过程中,我们会加入loading状态。
    今天我们讲解两种小程序中的loading状态。

    “侵入式”wx.showToast

    我们在index.js中的onload函数里,在请求发起之前加入
    wx.showToast({
    title:'加载中',
    icon:'loading',
    mask:true
    })

    在请求响应的时候,调用wx.hideToast();关闭loading弹窗。
    这里的属性都比较好理解,其中的mask指的是是否锁定用户交互,比如你这个请求如果是通过点击一个按钮发起的,那你可以设置mask为true,这样在请求响应回来之前,界面就会被‘锁定’,用户重复点击按钮,不会重复发起请求。
    完整代码如下:
    这里写图片描述
    运行效果如下:
    这里写图片描述
    当进入页面时,会有加载中的页面提示,当请求响应时这个弹窗会被移除。

    导航栏loading wx.showNavigationBarLoading

    我觉得初始化请求的数据,直接使用toast这种方式,用户体验并不是最好的,
    因为我们每次进入一个新的页面,都会有一个弹窗(这种交互称为‘侵入式’交互,就是有一点点入侵感)
    所以我们使用另外一种loading方式,在导航栏中loading,让用户知道页面正在加载就可以了。
    小程序中提供了wx.showNavigationBarLoading()的方法来实现这种功能。它通常是和wx.hideNavigationBarLoading();成对出现的,一个用户显示,一个用于隐藏。
    我们在查看更多页面使用导航栏loading,方法比showToast要简单,在需要开启的时候,调用show方法,请求响应的时候调用hide方法即可。
    如:
    /**
    * 页面相关事件处理函数--监听用户下拉动作
    */
    onPullDownRefresh: function () {
    console.log("用户下拉动作")
    if (this.data.url === '') {
    return;
    }
    var that = this;
    wx.showNavigationBarLoading();
    util.getMovieList(this.data.url, "查看更多", { start: 0, count: that.data.count }).then((movieList) => {
    that.setData({
    movieList: util.movieDataFactory(movieList),
    start: that.data.count
    });
    wx.stopPullDownRefresh();
    wx.hideNavigationBarLoading();
    })
    },

    运行效果:
    这里写图片描述
    源代码:百度云 链接:http://pan.baidu.com/s/1gfzlKXH 密码:ewd8
    这节课的内容就到这里结束了。
    感谢您的阅读。
    我是莽夫,希望你开心。
    如果你觉得本文对你有帮助,请扫描文末二维码,支持博主原创。
    希望大家关注我的个人公众号ionic_
    这里写图片描述

  • 相关阅读:
    python实现布隆过滤器及原理解析
    gin框架源码解析
    阿里云docker操作问题记录
    Qt编写数据可视化大屏界面电子看板系统
    CSS3-3D制作案例分析实战
    前端可视化项目流程,涉及three.js(webGL),3DMax技术,持续更新
    前端可视化项目流程,涉及three.js(webGL),3DMax技术,持续更新
    jquery拖拽排序,针对后台列表table进行拖拽排序(Echart不刷新页面,多语言切换下的地图数据重新加载,api请求数据加载
    Java 设置Excel条件格式(高亮条件值、应用单元格值/公式/数据条等类型)C# 创建Excel气泡图
    Java 如何在PPT中设置形状组合、取消组合、编辑组合形状
  • 原文地址:https://www.cnblogs.com/xiaohuoni/p/7642261.html
Copyright © 2020-2023  润新知