博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微信小程序教学第三章(含视频):小程序中级实战教程:列表-静态页面制作...
阅读量:5885 次
发布时间:2019-06-19

本文共 3384 字,大约阅读时间需要 11 分钟。

§ 列表 - 开发准备

本文配套视频地址:


开始前请把 ch3-1 分支中的 code/ 目录导入微信开发工具

这一章主要会教大家如何用小程序制作一个可以无限加载的列表。希望大家能通过这个例子掌握制作各种列表的原理。

无限列表加载的原理

其实所谓的无限列表就是将所有的数据分成一页一页的展示给用户看。我们每次只请求一页数据。当我们判断用户阅读完了这一页之后,立马请求下一页的数据,然后渲染出来给用户看,这样在用户看来,就感觉一直有内容可看。

当然,这其中很重要的一点就是,涉及到请求就肯定会有等待,处理好请求时的 加载状态,给用户以良好的体验也是非常重要的,否则如果网络状况不佳,而且没有给用户提示程序正在努力加载的话,用户很容易就以为他看完了,或者程序死掉了。

我们的列表所提供的功能

  1. 静默加载
  2. 标记已读
  3. 提供分享

涉及的核心技术和 API

  1. wx:for 的用法
  2. onReachBottom 的用法
  3. wx.storage 的用法
  4. wx.request 的用法
  5. Promise
  6. onShareAppMessage 的用法

我们将正式投入开发中,在这之前,我们修改 app.json 文件,并修改如下:

  1. 修改 pages 字段,为小程序增加页面配置
  2. 修改 window 字段,调整小程序的头部样式,也就是 navigationBar
{  "pages":[    "pages/index/index",    "pages/detail/detail"  ],  "window":{    "backgroundTextStyle":"light",    "navigationBarBackgroundColor": "#4abb3b",    "navigationBarTitleText": "iKcamp英语学习",    "backgroundColor": "#f8f8f8",    "navigationBarTextStyle":"white"  },  "netWorkTimeout": {    "request": 10000,    "connectSocket": 10000,    "uploadFile": 10000,    "downloadFile": 10000  },  "debug": true}复制代码

现在准备工作已经全部到位,我们开始列表页面的制作过程。

可以预览下我们的最终制作效果图:

分析下页面,很明显,日期是一个页面结构单位,一个单位里面的每篇文章也是一个小的单位。制作我们的页面如下,过程很简单,就不再复述了,修改 index.wxml 文件:

今日
为什么聪明人总能保持冷静?
06月27日
为什么聪明人总能保持冷静?
复制代码

修改 index.wxss 文件:

.wrapper .group {  padding: 0 36rpx 10rpx 36rpx;  background: #fff;  margin-bottom: 16rpx}.wrapper .group-bar {  height: 114rpx;  text-align: center}.wrapper .group-title {  position: relative;  display: inline-block;  padding: 0 12rpx;  height: 40rpx;  line-height: 40rpx;  border-radius: 4rpx;  border: solid 1rpx #e0e0e2;  font-size: 28rpx;  color: #ccc;  margin-top: 38rpx;  overflow: visible}.wrapper .group-title:after,.wrapper .group-title:before {  content: '';  top: 18rpx;  position: absolute;  width: 32rpx;  height: 1rpx;  transform: scaleY(.5);  border-bottom: solid 1px #efefef}.wrapper .group-title:before {  left: -56rpx}.wrapper .group-title:after {  right: -56rpx}.wrapper .group-title.on {  border: solid 1rpx #ffc60e;  color: #ffc60e}.wrapper .group-title.on:after,.wrapper .group-title.on:before {  border-bottom: solid 1px #ffc60e}.wrapper .group-content-item {  position: relative;  width: 100%;  height: 194rpx;  margin-bottom: 28rpx}.wrapper .group-content-item-desc {  font-size: 36rpx;  font-weight: 500;  height: 156rpx;  line-height: 52rpx;  margin-right: 300rpx;  margin-top: 8rpx;  overflow: hidden;  color: #333}.wrapper .group-content-item-img {  position: absolute;  right: 0;  top: 0;  vertical-align: top;  width: 260rpx;  height: 194rpx}.wrapper .group-content-item.visited .group-content-item-desc {  color: #999}.wrapper .no-more {  height: 44rpx;  line-height: 44rpx;  font-size: 32rpx;  color: #ccc;  text-align: center;  padding: 20rpx 0}复制代码

静态页面已经制作完成,下一篇中,我们将带着大家开发业务流程

iKcamp官网:

访问官网更快阅读全部免费分享课程:《iKcamp出品|全网最新|微信小程序|基于最新版1.0开发者工具之初中级培训教程分享》。 包含:文章、视频、源代码

iKcamp原创新书《移动Web前端高效开发实战》已在亚马逊、京东、当当开售。

iKcamp最新活动

报名地址:

“天天练口语”小程序总榜排名第四、教育类排名第一的研发团队,面对面沟通交流。


2019年,iKcamp原创新书《Koa与Node.js开发实战》已在京东、天猫、亚马逊、当当开售啦!

转载地址:http://wmlix.baihongyu.com/

你可能感兴趣的文章
2.2. DHCP
查看>>
Pycharm 快捷键
查看>>
thickbox问题
查看>>
【position也可以很复杂】当弹出层遇上了鼠标定位(上)
查看>>
一个机票航班查询的代码
查看>>
xen-4.1.2+Linux-3.1.2源码编译安装
查看>>
15.6. HTML嵌入图片
查看>>
java类型转换函数
查看>>
Oracle和SQL SERVER有哪些区别?
查看>>
MongoDB Map Reduce
查看>>
WPF中不规则窗体与WebBrowser控件的兼容问题解决办法
查看>>
e.keycode详解
查看>>
[Android疑难杂症]动态设置TextView的width不起作用
查看>>
xgboost原理及应用
查看>>
Spring--quartz中cronExpression配置说明
查看>>
照片批量压缩、缩放、加水印工具
查看>>
计蒜客:百度的科学计算器(简单)【python神解】
查看>>
阿里前端框架Alice是个不错的选择
查看>>
eclipse maven
查看>>
PreferencePage的小问题花了大把时间
查看>>