微信小程序block的使用教程


Posted in Javascript onApril 01, 2018

经过一年的发展,微信小程序发展火热,本期就介绍下小程序的一些使用。

在安卓中我们经常会使用ListView/GradeView/RecyclerView来实现展示循环数据。那么小程序中怎么到呢。其实很简单,使用block就可以了。

下面我们先看下效果图:

微信小程序block的使用教程

这个布局其实很简单,大致分为3部分,上+下(左75%,右25%)。这里就不在细说了。那么这里要怎么写wxml呢。下面贴代码:

微信小程序block的使用教程

这边很清晰的可以看出<block></block>这对标签,而数据源便是wx:for="{{goodlist}}"中的goodlist了。接着往下走,我们可以看到点击标签的时候有bindtap事件,这里就不做说明了。我们重点看下{{item.StartCity}},这是什么意思呢,其实这就是获取数据源中的数据,而item代表的是goodlist中的一条数据,StrrtCity等都是数据源中的一些具体属性。你可以更据需要直接调头你想要的字段名就可以了。block到此基本结束了。最后此处设置了一个view,用来代替当数据源为空时显示无数据页面提示。

下面顺便介绍下数据格式处理(时间格式转化):

在实际场景中我们可能会需要将时间转化为几分钟前,几小时前,几天前等。那么我们数据库中存放的一般是datetime格式数据。我们需要转化处理。

处理时间的时候需要注意的是:ios和android上的时间格式不同。ios时间是以2018/04/01,所以需要先将时间格式转化为/格式。不然你的小程序时间转化只会对安卓生效哦。具体转化代码:

for (var i = 0; i < goodsList.length; i++) {
 var PublishDatetime = goodsList[i].PublishDatetime.replace(/([\d\-]+)T(\d+:\d+)\:.*/, "$1 $2");//将带T的时间格式转化掉.
   PublishDatetime = PublishDatetime.replace(/-/g, "/");// 将格式‘-'转化为‘/'
//换算时间戳,计算得到与当前时间的差距
   var minute = 1000 * 60;
   var hour = minute * 60;
   var day = hour * 24;
   var halfamonth = day * 15;
   var month = day * 30;
   var now = new Date().getTime();
   var diffValue = now - new Date(PublishDatetime).getTime();
   //console.log("diffValue:" + diffValue);
   if (diffValue < 0) {
   return;
   }
   var monthC = diffValue / month;
   var weekC = diffValue / (7 * day);
   var dayC = diffValue / day;
   var hourC = diffValue / hour;
   var minC = diffValue / minute;
   if (monthC >= 1) {
   if (monthC <= 12)
    goodsList[i].PublishDatetime = "" + parseInt(monthC) + "月前";//将时间替换掉想要的数据
   else {
    goodsList[i].PublishDatetime = "" + parseInt(monthC / 12) + "年前";//将时间替换掉想要的数据
   }
   }
   else if (weekC >= 1) {
   goodsList[i].PublishDatetime = "" + parseInt(weekC) + "周前";//将时间替换掉想要的数据
   }
   else if (dayC >= 1) {
   goodsList[i].PublishDatetime = "" + parseInt(dayC) + "天前";//将时间替换掉想要的数据
   }
   else if (hourC >= 1) {
   goodsList[i].PublishDatetime = "" + parseInt(hourC) + "小时前";//将时间替换掉想要的数据
   }
   else if (minC >= 1) {
   goodsList[i].PublishDatetime = "" + parseInt(minC) + "分钟前";//将时间替换掉想要的数据
   } else {
   goodsList[i].PublishDatetime = "刚刚";//将时间替换掉想要的数据
   }
  }
 //最后将转化后的时间重新赋值给数据源

总结

以上所述是小编给大家介绍的微信小程序block的使用教程,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

Javascript 相关文章推荐
JQuery的ready函数与JS的onload的区别详解
Nov 21 Javascript
Ext4.2的Ext.grid.plugin.RowExpander无法触发事件解决办法
Aug 15 Javascript
你有必要知道的25个JavaScript面试题
Dec 29 Javascript
谈谈JavaScript类型系统之Math
Jan 06 Javascript
基于jquery实现ajax无刷新评论
Aug 19 Javascript
妙用Bootstrap的 popover插件实现校验表单提示功能
Aug 29 Javascript
html、css和jquery相结合实现简单的进度条效果实例代码
Oct 24 Javascript
Vue单页及多页应用全局配置404页面实践记录
May 22 Javascript
详解微信小程序canvas圆角矩形的绘制的方法
Aug 22 Javascript
vue canvas绘制矩形并解决由clearRec带来的闪屏问题
Sep 02 Javascript
jQuery实现视频展示效果
May 30 jQuery
Vue实现简单购物车功能
Dec 13 Vue.js
JavaScript动态加载重复绑定问题
Apr 01 #Javascript
使用JSON格式提交数据到服务端的实例代码
Apr 01 #Javascript
Vue.js进阶知识点总结
Apr 01 #Javascript
vue 指定组件缓存实例详解
Apr 01 #Javascript
通过vue提供的keep-alive减少对服务器的请求次数
Apr 01 #Javascript
vue-cli项目优化方法- 缩短首屏加载时间
Apr 01 #Javascript
vuejs项目打包之后的首屏加载优化及打包之后出现的问题
Apr 01 #Javascript
You might like
浅谈PHP的$_SERVER[SERVER_NAME]
2017/02/04 PHP
javascript IE中的DOM ready应用技巧
2008/07/23 Javascript
javascript实现面向对象类的功能书写技巧
2010/03/07 Javascript
Jquery上传插件 uploadify v3.1使用说明
2012/06/18 Javascript
滚动图片效果 jquery实现回旋滚动效果
2013/01/08 Javascript
JS回调函数的应用简单实例
2014/09/17 Javascript
js限制文本框只能输入中文的方法
2015/08/11 Javascript
原生js实现百叶窗效果及原理介绍
2016/04/12 Javascript
BootStrap 动态添加验证项和取消验证项的实现方法
2016/09/28 Javascript
微信小程序 css使用技巧总结
2017/01/09 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
js判断用户是输入的地址请求的路径(实例讲解)
2017/07/18 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
微信小程序上传多图到服务器并获取返回的路径
2019/05/05 Javascript
layui table 获取分页 limit的方法
2019/09/20 Javascript
跟老齐学Python之眼花缭乱的运算符
2014/09/14 Python
python实现数独算法实例
2015/06/09 Python
python安装与使用redis的方法
2016/04/19 Python
Python的Twisted框架中使用Deferred对象来管理回调函数
2016/05/25 Python
Python2.7编程中SQLite3基本操作方法示例
2017/08/09 Python
Python对多属性的重复数据去重实例
2018/04/18 Python
如何安装2019Pycharm最新版本(详细教程)
2019/09/26 Python
Python实现把类当做字典来访问
2019/12/16 Python
利用PyCharm操作Github(仓库新建、更新,代码回滚)
2019/12/18 Python
python GUI库图形界面开发之PyQt5布局控件QGridLayout详细使用方法与实例
2020/03/06 Python
改变 Python 中线程执行顺序的方法
2020/09/24 Python
帕克纽约:PARKER NY
2018/12/09 全球购物
递归实现回文判断(如:abcdedbca就是回文,判断一个面试者对递归理解的简单程序)
2013/04/28 面试题
医生进修自我鉴定
2014/01/19 职场文书
自动一体化专业求职信
2014/03/15 职场文书
个人授权委托书
2014/04/03 职场文书
2015年生产部工作总结范文
2015/05/25 职场文书
经典格言警句:没有热忱,世间便无进步
2019/11/13 职场文书
Python自动操作神器PyAutoGUI的使用教程
2022/06/16 Python
Python绘制散点图之可视化神器pyecharts
2022/07/07 Python
CSS实现鼠标悬浮动画特效
2023/05/07 HTML / CSS