微信小程序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 相关文章推荐
用YUI做了个标签浏览效果
Feb 20 Javascript
JavaScript 事件对象介绍
Apr 13 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
Aug 21 Javascript
jquery地址栏链接与a标签链接匹配之特效代码总结
Aug 24 Javascript
JS获取复选框的值,并传递到后台的实现方法
May 30 Javascript
搭建Bootstrap离线文档的方法
Dec 02 Javascript
基于JavaScript实现本地图片预览
Feb 08 Javascript
jQuery插件FusionCharts绘制的2D帕累托图效果示例【附demo源码】
Mar 28 jQuery
JS实现简单的文字无缝上下滚动功能示例
Jun 22 Javascript
在vue中实现禁止屏幕滚动,禁止屏幕滑动
Jul 22 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
Jul 28 Javascript
vue 接口请求地址前缀本地开发和线上开发设置方式
Aug 13 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+Html+缓存
2006/11/25 PHP
PHP Memcached应用实现代码
2010/02/08 PHP
PHP中=赋值操作符对不同数据类型的不同行为
2011/01/02 PHP
php操作redis缓存方法分享
2015/06/03 PHP
PHP写API输出的时用echo的原因详解
2019/04/28 PHP
js 获取Listbox选择的值的代码
2010/04/15 Javascript
JS 文件传参及处理技巧分析
2010/05/13 Javascript
JavaScript对象之间的转换 jQuery对象和原声DOM
2011/03/07 Javascript
nodejs中exports与module.exports的区别详细介绍
2013/01/14 NodeJs
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
JavaScript使用addEventListener添加事件监听用法实例
2015/06/01 Javascript
Angularjs 实现一个幻灯片示例代码
2016/09/08 Javascript
vue-resource拦截器设置头信息的实例
2017/10/27 Javascript
基于vue v-for 循环复选框-默认勾选第一个的实现方法
2018/03/03 Javascript
利用原生的JavaScript实现简单拼图游戏
2018/11/18 Javascript
写一个Vue Popup组件
2019/02/25 Javascript
jQuery实现轮播图效果demo
2020/01/11 jQuery
微信小程序如何通过用户授权获取手机号(getPhoneNumber)
2020/01/21 Javascript
Python编程实现的图片识别功能示例
2017/08/03 Python
使用Python和Prometheus跟踪天气的使用方法
2019/05/06 Python
Python学习笔记之函数的定义和作用域实例详解
2019/08/13 Python
python 浅谈serial与stm32通信的编码问题
2019/12/18 Python
pandas to_excel 添加颜色操作
2020/07/14 Python
Django框架安装及项目创建过程解析
2020/09/14 Python
Django Auth用户认证组件实现代码
2020/10/13 Python
html5的自定义data-*属性与jquery的data()方法的使用
2014/07/02 HTML / CSS
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
精选鞋类、服装和配饰的全球领先目的地:Bodega
2021/02/27 全球购物
东方通信股份有限公司VC面试题
2014/08/27 面试题
2014年开学第一课活动方案
2014/03/06 职场文书
行政经理岗位职责
2015/04/15 职场文书
《赵州桥》教学反思
2016/02/17 职场文书
《活见鬼》教学反思
2016/02/24 职场文书
2016年大学生暑期社会实践活动总结
2016/04/06 职场文书
Java使用httpRequest+Jsoup爬取红蓝球号码
2021/07/02 Java/Android
Django模型层实现多表关系创建和多表操作
2021/07/21 Python