微信小程序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 相关文章推荐
javascript arguments 传递给函数的隐含参数
Aug 21 Javascript
浅谈Javascript事件模拟
Jun 27 Javascript
浅谈Javascript鼠标和滚轮事件
Jun 27 Javascript
Jquery中巧用Ajax的beforeSend方法
Jan 20 Javascript
微信公众号支付H5调用支付解析
Nov 04 Javascript
使用JavaScript根据图片获取条形码的方法
Jul 04 Javascript
彻底解决 webpack 打包文件体积过大问题
Jul 07 Javascript
微信小程序class封装http代码实例
Aug 24 Javascript
vue实现吸顶、锚点和滚动高亮按钮效果
Oct 21 Javascript
Vuex实现数据共享的方法
Dec 20 Javascript
原生JavaScript实现留言板
Jan 10 Javascript
Vue 集成 PDF.js 实现 PDF 预览和添加水印的步骤
Jan 22 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
BBS(php &amp; mysql)完整版(五)
2006/10/09 PHP
Banner程序
2006/10/09 PHP
php中判断一个字符串包含另一个字符串的方法
2007/03/19 PHP
PHP计划任务、定时执行任务的实现代码
2011/04/23 PHP
PHP 将逗号、空格、回车分隔的字符串转换为数组的函数
2012/06/07 PHP
Thinkphp的volist标签嵌套循环使用教程
2014/07/08 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
javascript 动态数据下的锚点错位问题解决方法
2008/12/24 Javascript
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
最佳JS代码编写的14条技巧
2011/01/09 Javascript
js实现在字符串中提取数字
2013/11/05 Javascript
键盘KeyCode值列表汇总
2013/11/26 Javascript
js 事件截取enter按键页面提交事件示例代码
2014/03/04 Javascript
用js读、写、删除Cookie代码续篇
2014/12/03 Javascript
jQuery图片切换动画特效
2016/11/02 Javascript
JavaScript实现拖拽元素对齐到网格(每次移动固定距离)
2016/11/30 Javascript
vue.js中mint-ui框架的使用方法
2017/05/12 Javascript
Angularjs在360兼容模式下取数据缓存问题的解决办法
2017/06/22 Javascript
使用ngrok+express解决本地环境中微信接口调试问题
2018/02/26 Javascript
vue.js编译时给生成的文件增加版本号
2018/09/17 Javascript
浅谈Vue.js 中的 v-on 事件指令的使用
2018/11/25 Javascript
如何通过javaScript去除字符串两端的空白字符
2020/02/06 Javascript
JS前端模块化原理与实现方法详解
2020/03/17 Javascript
解决vue axios跨域 Request Method: OPTIONS问题(预检请求)
2020/08/14 Javascript
[01:59]DOTA2首部纪录片《Free to play》预告片
2014/03/12 DOTA
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
Flask-Mail用法实例分析
2018/07/21 Python
python批量获取html内body内容的实例
2019/01/02 Python
selenium+python自动化测试环境搭建步骤
2019/06/03 Python
Python占用的内存优化教程
2019/07/28 Python
python3.6中@property装饰器的使用方法示例
2019/08/17 Python
对Tensorflow中Device实例的生成和管理详解
2020/02/04 Python
美国真皮手袋品牌:GiGi New York
2017/03/10 全球购物
介绍一下SQL注入攻击的种类和防范手段
2012/02/18 面试题
教师自荐信范文
2013/12/09 职场文书
三爱活动实施方案
2014/03/19 职场文书