微信小程序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 相关文章推荐
ext checkboxgroup 回填数据解决
Aug 21 Javascript
用js实现判断当前网址的来路如果不是指定的来路就跳转到指定页面
May 02 Javascript
使用jQuery判断Div是否在可视区域的方法 判断div是否可见
Feb 17 Javascript
jquery.qtip提示信息插件用法简单实例
Jun 17 Javascript
手机端点击图片放大特效PhotoSwipe.js插件实现
Aug 24 Javascript
jQuery中 $ 符号的冲突问题及解决方案
Nov 04 Javascript
基于vuejs实现一个todolist项目
Apr 11 Javascript
jQuery取得元素标签名称小结(附代码)
Aug 16 jQuery
JavaScript fetch接口案例解析
Aug 30 Javascript
如何解决webpack-dev-server代理常切换问题
Jan 09 Javascript
微信小程序select下拉框实现效果
May 15 Javascript
2019最新21个MySQL高频面试题介绍
Feb 06 Javascript
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之第十天
2006/10/09 PHP
向大师们学习Javascript(视频与PPT)
2009/12/27 Javascript
Jquery AutoComplete自动完成 的使用方法实例
2010/03/19 Javascript
JS图片根据鼠标滚动延时加载的实例代码
2013/07/13 Javascript
基于JQuery的列表拖动排序实现代码
2013/10/01 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
JavaScript声明变量时为什么要加var关键字
2014/09/29 Javascript
jQuery实现dialog设置focus焦点的方法
2015/06/10 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
nodejs爬虫遇到的乱码问题汇总
2017/04/07 NodeJs
微信小程序使用progress组件实现显示进度功能【附源码下载】
2017/12/12 Javascript
自定义PC微信扫码登录样式写法
2017/12/12 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
详解wepy开发小程序踩过的坑(小结)
2019/05/22 Javascript
js实现随机数小游戏
2019/06/28 Javascript
[04:48]DOTA2亚洲邀请赛林书豪为VGJ加油
2017/04/01 DOTA
Python实现带百分比的进度条
2016/06/28 Python
python thrift搭建服务端和客户端测试程序
2018/01/17 Python
python互斥锁、加锁、同步机制、异步通信知识总结
2018/02/11 Python
使用keras2.0 将Merge层改为函数式
2020/05/23 Python
Python实现Kerberos用户的增删改查操作
2020/12/14 Python
Bench加拿大官方网站:英国城市服装品牌
2017/11/03 全球购物
什么是ESB?请介绍一下ESB?
2015/05/27 面试题
工程师求职简历的自我评价分享
2013/10/10 职场文书
社会实践心得体会
2014/01/03 职场文书
教师职称自我鉴定
2014/02/12 职场文书
广告语设计及教案
2014/03/21 职场文书
《陈毅探母》教学反思
2014/05/01 职场文书
铣床操作工岗位职责
2014/06/13 职场文书
应用外语系自荐信
2014/06/26 职场文书
草房子读书笔记
2015/06/29 职场文书
苦儿流浪记读书笔记
2015/07/01 职场文书
MYSQL常用函数介绍
2022/05/05 MySQL
Fluentd搭建日志收集服务
2022/09/23 Servers