微信小程序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 相关文章推荐
IE和Firefox在JavaScript应用中的兼容性探讨
Apr 01 Javascript
锋利的jQuery jQuery中的DOM操作
Mar 21 Javascript
同域jQuery(跨)iframe操作DOM(示例代码)
Dec 13 Javascript
jQuery is()函数用法3例
May 06 Javascript
jquery获取一个元素下面相同子元素的个数代码
Jul 31 Javascript
JS检测是否可以访问公网服务器功能代码
Jun 19 Javascript
Vue实现路由跳转和嵌套
Jun 20 Javascript
JavaScript检查数据中是否存在相同的元素(两种方法)
Oct 07 Javascript
Vue中CSS动画原理的实现
Feb 13 Javascript
详解微信小程序调用支付接口支付
Apr 28 Javascript
Vue实现导航栏的显示开关控制
Nov 01 Javascript
移动端JS实现拖拽两种方法解析
Oct 12 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
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
Laravel5.5 动态切换多语言的操作方式
2019/10/25 PHP
Javascript入门学习资料收集整理篇
2008/07/06 Javascript
Javascript操作select方法大全[新增、修改、删除、选中、清空、判断存在等]
2008/09/26 Javascript
js左侧多级菜单动态的解决方案
2010/02/01 Javascript
js截取函数(indexOf,join等)
2010/09/01 Javascript
JavaScript prototype属性深入介绍
2012/11/27 Javascript
Javascript倒计时页面跳转实例小结
2013/09/11 Javascript
js中的scroll和offset 使用比较的实例与分析
2013/09/29 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
原生JS实现响应式瀑布流布局
2015/04/02 Javascript
jQuery实现文本展开收缩特效
2015/06/03 Javascript
js clearInterval()方法的定义和用法
2015/11/11 Javascript
Vue单页及多页应用全局配置404页面实践记录
2018/05/22 Javascript
微信小程序自定义带价格显示日历效果
2018/12/29 Javascript
通过扫小程序码实现网站登陆功能
2019/08/22 Javascript
element form 校验数组每一项实例代码
2019/10/10 Javascript
微信小程序学习总结(三)条件、模板、文件引用实例分析
2020/06/04 Javascript
vue组件添加事件@click.native操作
2020/10/30 Javascript
python查找第k小元素代码分享
2013/12/18 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
详解pyenv下使用python matplotlib模块的问题解决
2018/11/29 Python
Django中的用户身份验证示例详解
2019/08/07 Python
Python网络编程之使用TCP方式传输文件操作示例
2019/11/01 Python
Python FFT合成波形的实例
2019/12/04 Python
numpy矩阵数值太多不能全部显示的解决
2020/05/14 Python
Under Armour安德玛法国官网:美国高端运动科技品牌
2018/06/29 全球购物
简历中自我评价范文3则
2013/12/14 职场文书
中餐厅主管的职责范文
2014/02/04 职场文书
爱的奉献演讲稿
2014/09/10 职场文书
初中家长评语和期望
2014/12/26 职场文书
店长岗位职责
2015/02/11 职场文书
毕业生对母校寄语
2015/02/26 职场文书
英语教师求职信范文
2015/03/20 职场文书
Python实现天气查询软件
2021/06/07 Python
html中两种获取标签内的值的方法
2022/06/16 jQuery