微信小程序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 相关文章推荐
JS BASE64编码 window.atob(), window.btoa()
Mar 09 Javascript
更正确的asp冒泡排序
May 24 Javascript
JavaScript开发时的五个注意事项
Dec 08 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
Jul 13 Javascript
js实现类似jquery里animate动画效果的方法
Apr 10 Javascript
简单实现限制uploadify上传个数
Nov 16 Javascript
Node.js服务器环境下使用Mock.js拦截AJAX请求的教程
May 23 Javascript
Jquery AJAX POST与GET之间的区别详细介绍
Oct 17 Javascript
JavaScript比较两个数组的内容是否相同(推荐)
May 02 Javascript
axios全局请求参数设置,请求及返回拦截器的方法
Mar 05 Javascript
基于JavaScript获取url参数2种方法
Apr 17 Javascript
如何使用three.js 制作一个三维的推箱子游戏
Jul 29 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
饭制《星际争霸》Mod:优化游戏机制 增加新单位
2017/07/02 星际争霸
php 缓存函数代码
2008/08/27 PHP
PHP中time(),date(),mktime()区别介绍
2013/09/28 PHP
微信开发之php表单微信中自动提交两次问题解决办法
2017/01/08 PHP
TopList标签和JavaScript结合两例
2007/08/12 Javascript
js用图作提交按钮或超连接
2008/03/26 Javascript
写入cookie的JavaScript代码库 cookieLibrary.js
2009/10/24 Javascript
JavaScript中的Repaint和Reflow用法详解
2015/07/27 Javascript
JavaScript核心语法总结(推荐)
2016/06/02 Javascript
JS使用面向对象技术实现的tab选项卡效果示例
2017/02/28 Javascript
javascript ES6 新增了let命令使用介绍
2017/07/07 Javascript
javascript 取小数点后几位几种方法总结
2017/08/02 Javascript
手把手教你vue-cli单页到多页应用的方法
2018/05/31 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
运用js实现图层拖拽的功能
2019/05/24 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
js实现简单贪吃蛇游戏
2020/05/15 Javascript
vuex存取值和映射函数使用说明
2020/07/24 Javascript
Python获取远程文件大小的函数代码分享
2014/05/13 Python
Python 实现 贪吃蛇大作战 代码分享
2016/09/07 Python
python学习之matplotlib绘制散点图实例
2017/12/09 Python
浅谈python数据类型及类型转换
2017/12/18 Python
python中使用print输出中文的方法
2018/07/16 Python
python通过robert、sobel、Laplace算子实现图像边缘提取详解
2019/08/21 Python
python实现将一维列表转换为多维列表(numpy+reshape)
2019/11/29 Python
css3 利用transform打造走动的2D时钟
2020/10/20 HTML / CSS
快速实现一个简单的canvas迷宫游戏的示例
2018/07/04 HTML / CSS
世界领先的艺术图书出版社:TASCHEN
2018/07/23 全球购物
Saks Fifth Avenue澳洲/亚太地区:萨克斯第五大道精品百货店
2019/06/09 全球购物
玲玲的画教学反思
2014/02/04 职场文书
九寨沟导游词
2015/02/02 职场文书
在职证明书模板
2015/06/15 职场文书
教师年度考核自我评鉴
2015/08/11 职场文书
军训决心书范文
2015/09/22 职场文书
奇妙的 CSS shapes(CSS图形)
2021/04/05 HTML / CSS
漫画「狩龙人拉格纳」公开TV动画预告图
2022/03/22 日漫