微信小程序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 相关文章推荐
XRegExp 0.2: Now With Named Capture
Nov 30 Javascript
JQuery动画和停止动画实例代码
Mar 01 Javascript
javascript从右边截取指定字符串的三种实现方法
Nov 29 Javascript
选择复选框按钮置灰否则按钮可用
May 22 Javascript
Javascript学习笔记之 对象篇(三) : hasOwnProperty
Jun 24 Javascript
使用JavaScript实现连续滚动字幕效果的方法
Jul 07 Javascript
jquery特效 点击展示与隐藏全文
Dec 09 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
用图片替换checkbox原始样式并实现同样的功能
Nov 15 Javascript
详解vue在项目中使用百度地图
Mar 26 Javascript
JavaScript设计模式之策略模式实现原理详解
May 29 Javascript
浅析vue中的nextTick
Dec 28 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面向对象三大特点学习(充分理解抽象、封装、继承、多态)
2012/05/07 PHP
Laravel框架基于ajax和layer.js实现无刷新删除功能示例
2019/01/17 PHP
Laravel框架Blade模板简介及模板继承用法分析
2019/12/03 PHP
javascript suggest效果 自动完成实现代码分享
2012/02/17 Javascript
JS去除数组重复值的五种不同方法
2013/09/06 Javascript
javascript简单实现表格行间隔显示颜色并高亮显示
2013/11/29 Javascript
JavaScript中实现依赖注入的思路分享
2015/01/15 Javascript
如何屏蔽防止别的网站嵌入框架代码
2015/08/24 Javascript
jquery实现浮动在网页右下角的彩票开奖公告窗口代码
2015/09/04 Javascript
教你如何终止JQUERY的$.AJAX请求
2016/02/23 Javascript
限制文本框只能输入数字||只能是数字和小数点||只能是整数和浮点数
2016/05/27 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
Webpack打包字体font-awesome的方法示例
2018/04/26 Javascript
[49:12]完美世界DOTA2联赛PWL S2 Magma vs GXR 第二场 11.29
2020/12/02 DOTA
python实现的一个火车票转让信息采集器
2014/07/09 Python
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
Python的SQLalchemy模块连接与操作MySQL的基础示例
2016/07/11 Python
python 2.7.13 安装配置方法图文教程
2018/09/18 Python
使用Rasterio读取栅格数据的实例讲解
2019/11/26 Python
在python3中使用shuffle函数要注意的地方
2020/02/28 Python
Java如何基于wsimport调用wcf接口
2020/06/17 Python
python如何停止递归
2020/09/09 Python
Flask中jinja2的继承实现方法及实例
2021/03/03 Python
德国BA保镖药房韩文网:kr.ba.de
2017/09/04 全球购物
世界上最好的足球商店:Unisport
2019/03/02 全球购物
科颜氏法国官网:Kiehl’s法国
2019/08/20 全球购物
Linux管理员面试题 Linux admin interview questions
2016/07/08 面试题
如何进行有效的自我评价
2013/09/27 职场文书
运动会入场词50字
2014/02/20 职场文书
解除劳动合同协议书范本2014
2014/09/25 职场文书
儿童诗两首教学反思
2016/02/23 职场文书
2016年圣诞节活动总结范文
2016/04/01 职场文书
2019森林防火宣传标语大全!
2019/07/03 职场文书
VS2019连接MySQL数据库的过程及常见问题总结
2021/11/27 MySQL
分享几个简单MySQL优化小妙招
2022/03/31 MySQL
windows server2008 开启端口的实现方法
2022/06/25 Servers