微信小程序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 相关文章推荐
Discuz! 6.1_jQuery兼容问题
Sep 23 Javascript
推荐 21 款优秀的高性能 Node.js 开发框架
Aug 18 Javascript
原生js和jQuery写的网页选项卡特效对比
Apr 27 Javascript
JavaScript简单判断复选框是否选中及取出值的方法
Aug 13 Javascript
JavaScript中数组Array方法详解
Feb 27 Javascript
JS点击缩略图整屏居中放大图片效果
Jul 04 Javascript
微信小程序开发之IOS和Android兼容的问题
Sep 26 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
Aug 24 Javascript
vue中node_modules中第三方模块的修改使用详解
May 31 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
ES6中定义类和对象的方法示例
Jul 31 Javascript
vue-cli4.5.x快速搭建项目
May 30 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冒泡排序算法代码详细解读
2011/07/17 PHP
Server.HTMLEncode让代码在页面里显示为源代码
2013/12/08 PHP
PHP反射使用实例和PHP反射API的中文说明
2014/07/02 PHP
PHP实现多级分类生成树的方法示例
2017/02/07 PHP
Ubuntu彻底删除PHP7.0的方法
2018/07/27 PHP
PHP crc32()函数讲解
2019/02/14 PHP
php的命名空间与自动加载实现方法
2019/08/25 PHP
JQuery通过Ajax提交表单并返回结果
2011/07/31 Javascript
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
jQuery extend 的简单实例
2013/09/18 Javascript
Jquery EasyUI的添加,修改,删除,查询等基本操作介绍
2013/10/11 Javascript
js+css实现tab菜单切换效果的方法
2015/01/20 Javascript
jQuery给多个不同元素添加class样式的方法
2015/03/26 Javascript
JS实现先显示大图后自动收起显示小图的广告代码
2015/09/04 Javascript
javascript实现数组去重的多种方法
2016/03/14 Javascript
JS实现鼠标移上去显示图片或微信二维码
2016/12/14 Javascript
JS实现的JSON序列化操作简单示例
2018/07/02 Javascript
JS中DOM元素的attribute与property属性示例详解
2018/09/04 Javascript
jQuery实现的模仿雨滴下落动画效果
2018/12/11 jQuery
Angular使用Restful的增删改
2018/12/28 Javascript
详解vue+axios给开发环境和生产环境配置不同的接口地址
2019/08/16 Javascript
javascript实现抢购倒计时程序
2019/08/26 Javascript
js编写简易的计算器
2020/07/29 Javascript
Python字符遍历的艺术
2008/09/06 Python
利用python爬取散文网的文章实例教程
2017/06/18 Python
使用python实现简单五子棋游戏
2019/06/18 Python
浅谈HTML5 defer和async的区别
2016/06/07 HTML / CSS
网络工程专业毕业生推荐信
2013/10/28 职场文书
新闻系毕业生推荐信
2013/11/16 职场文书
咖啡店的创业计划书,让你hold不住
2014/01/03 职场文书
路政管理求职信
2014/06/18 职场文书
教师个人总结范文
2015/02/11 职场文书
党风廉洁教育心得体会
2016/01/20 职场文书
幼师必备:幼儿园期末教师评语50条
2019/11/01 职场文书
详解在SQLPlus中实现上下键翻查历史命令的功能
2022/03/18 SQL Server
django项目、vue项目部署云服务器的详细过程
2022/07/23 Servers