EA&UML日拱一卒-0基础学习微信小程序(13)-一个都不能少

经过两篇文章的积累,我们回到Hello world中来。


util.js


这段代码包含3个段落,按照参照关系逐一说明。


格式化数字函数


function formatNumber(n) {
  n = n.toString()
  return n[1] ? n : '0' + n
}


这个函数用于将日期和时间数字转换成字符串,如果字符串为一个字符,则前面加0。


格式化日期/时间函数


function formatTime(date) {
  var year = date.getFullYear()
  var month = date.getMonth() + 1
  var day = date.getDate()

  var hour = date.getHours()
  var minute = date.getMinutes()
  var second = date.getSeconds()


  return [year, month, day].map(formatNumber).join('/') + ' ' + [hour, minute, second].map(formatNumber).join(':')
}


这个函数将包含时刻信息的日期数据转换为字符串。它的主要功能是在return语句中实现的。


这个语句首先调用map方法,利用formatNumber函数将将年月日数字数组转换成年月日字符串数组,然后调用join方法将字符串数组中的元素用‘/’连接起来。


接下来调用map方法,利用formatNumber函数将将小时分秒数字数组转换成字符串数组,然后调用join方法将字符串数组中的元素用‘:’连接起来。


最后将日期字符串和时刻字符串用“ ”连接起来返回。


对外暴露接口


module.exports = {
  formatTime: formatTime
}


util.js是一个单独的 js 文件模块。而模块可以通过 module.exports()对外暴露接口。本例中将formatTime函数以formatTime的名称暴露给其他模块。


logs.js


//logs.js
var util = require('../../utils/util.js')
Page({
  data: {
    logs: []
  },
  onLoad: function () {
    this.setData({
      logs: (wx.getStorageSync('logs') || []).map(function (log) {
        return util.formatTime(new Date(log))
      })
    })
  }
})


为了使用util.js中暴露的format函数,首先使用 require(path) 将公共代码引入本文件中。


在本页面的生命周期函数onLoad中,首先从小程序临时存储中取出logs数组,然后对它的每个元素调用util.js中的formatTime函数,将日期数据逐个转换。最后将结果生成字符串数组并设定到页面data中的logs数组中以供显示。


log数据在小程序启动时形成,在log页面表示是被显示。


参考资料


函数的暴露和引用:

https://mp.weixin.qq.com/debug/wxadoc/dev/framework/app-service/module.html


写在文章的最后


既然已经读到这里了,拜托大家再用一分钟时间,将文章转发到各位的朋友圈,微信群中。本公众号的成长需要您的支持!
以上就是今天的文章,欢迎点赞并推荐给您的朋友!
阅读更多更新文章,请扫描下面二维码,关注微信公众号【面向对象思考】
EA&UML日拱一卒-0基础学习微信小程序(13)-一个都不能少