微信小程序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 相关文章推荐
解析dom中的children对象数组元素firstChild,lastChild的使用
Jul 10 Javascript
javascript动态的改变IFrame的高度实现自动伸展
Oct 12 Javascript
解析Javascript中中括号“[]”的多义性
Dec 03 Javascript
JS+JSP checkBox 全选具体实现
Jan 02 Javascript
Javascript 多物体运动的实现
Dec 24 Javascript
jquery实现一个简单的表单验证实例
Mar 30 Javascript
javascript读取文本节点方法小结
Dec 15 Javascript
React中嵌套组件与被嵌套组件的通信过程
Jul 11 Javascript
微信小程序tabbar底部导航
Nov 05 Javascript
mpvue全局引入sass文件的方法步骤
Mar 06 Javascript
JavaScript文档加载模式以及元素获取
Jul 28 Javascript
nuxt 实现在其它js文件中使用store的方式
Nov 05 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
是否存在第一台收音机的说法
2021/03/01 无线电
小偷PHP+Html+缓存
2006/11/25 PHP
PHP魔术方法__GET、__SET使用实例
2014/11/25 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
如何通过PHP实现Des加密算法代码实例
2020/05/09 PHP
javascript页面加载完执行事件代码
2014/02/11 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
jQuery网页选项卡插件rTabs用法实例分析
2015/08/26 Javascript
基于jQuey实现鼠标滑过变色(整行变色)
2015/12/07 Javascript
学习掌握JavaScript中this的使用技巧
2016/08/29 Javascript
微信小程序 Image API实例详解
2016/09/30 Javascript
微信小程序联网请求的轮播图
2017/07/07 Javascript
利用JS做网页特效_大图轮播(实例讲解)
2017/08/09 Javascript
javascript中new Array()和var arr=[]用法区别
2017/12/01 Javascript
vue写一个组件
2018/04/09 Javascript
js数据类型检测总结
2018/08/05 Javascript
JavaScript引用类型Date常见用法实例分析
2018/08/08 Javascript
微信小程序前端自定义分享的实现方法
2019/06/13 Javascript
浅谈VUE中演示v-for为什么要加key
2020/01/16 Javascript
JQuery使用数组遍历跳出each循环
2020/09/01 jQuery
python中Apriori算法实现讲解
2017/12/10 Python
Python数据结构与算法之图的广度优先与深度优先搜索算法示例
2017/12/14 Python
让Python脚本暂停执行的几种方法(小结)
2019/07/11 Python
Django使用Jinja2模板引擎的示例代码
2019/08/09 Python
Python PIL图片添加字体的例子
2019/08/22 Python
Python利用逻辑回归模型解决MNIST手写数字识别问题详解
2020/01/14 Python
python TCP包注入方式
2020/05/05 Python
基于python实现简单C/S模式代码实例
2020/09/14 Python
Django中template for如何使用方法
2021/01/31 Python
pip/anaconda修改镜像源,加快python模块安装速度的操作
2021/03/04 Python
海滩咖啡馆:Beach Cafe
2018/02/02 全球购物
Omio波兰:全欧洲低价大巴、火车和航班搜索和比价
2018/02/16 全球购物
特色冷饮店创业计划书
2014/01/28 职场文书
高一学生评语大全
2014/04/25 职场文书
教师党的群众路线教育实践活动个人整改方案
2014/10/31 职场文书
python中Matplotlib绘制直线的实例代码
2021/07/04 Python