微信小程序之一:JS操作

.map 方法示例 接口返回的imageURL拼接根地址
var tempArray = '接口返回的数组'
that.setData({
    listArray: tempArray.map(function(item) {
        item.imageURL = getApp().data.baseURL + item.imageURL;
        //如果列表里没有子数组数据需要拼接根地址,就不用再次 .map 方法 直接return item
        item.child.map(function(childItem) {
          childItem.pic = getApp().data.baseURL + childItem.pic;
          return childItem;
        })
        return item;
    }),
})
.filter方法 遍历数组数据
示例:遍历cityArray 数组,找出cityArray数组中pid 等于
province 数组中province[e.detail.value].id的值
使用.filter方法 比 for 循环速度快

let newArray = that.data.cityArray.filter(item => item.pid === that.data.province[e.detail.value].id)
获取系统信息 下面是屏幕宽高
 wx.getSystemInfo({
      success: function(res) {
        that.setData({
          windowHeight: res.windowHeight,
          windowWidth: res.windowWidth,
        })
      }
});
动态设置页面标题
第一种:定死页面标题修改 .json文件
{
  "navigationBarTitleText": "标题"
}

第二种:动态自定义页面标题
wx.setNavigationBarTitle({
  title: this.data.URLBackTitle
})
本地数据存储
 // 同步方式存储数据
wx.setStorageSync('userInfo', this.data.userInfo);

//取出数据
var token = wx.getStorageSync('userInfo')

页面栈层级数
var pages = getCurrentPages();
console.log('页面栈层数' + pages.length)
if (pages.length == 10) {
//小程序最大10层
}else{
}
获取明天日期
//获取当前时间
var nowDate = new Date(new Date().toLocaleDateString()); 
//获取明天这个时间
var nowDate1 = new Date(nowDate.getTime() + 24 * 60 * 60 * 1000)

    var date_value1 = nowDate1.getFullYear().toString()
    var date_value2 = (nowDate1.getMonth() + 1).toString()
    var date_value3 = nowDate1.getDate().toString()

    if (date_value2.length == 1) {
      date_value2 = '0' + date_value2
    }
    if (date_value3.length == 1) {
      date_value3 = '0' + date_value3
    }
    
    var tomorrow = date_value1 + '-' + date_value2 + '-' + date_value3
倒计时
LastTimer: function() {

var that = this;
var totalSecond = 0;
//start_time服务端返回的团购开始时间
var start_time = new Date(that.data.start_time.replace(/-/g, "/"));
totalSecond = Date.parse(start_time) / 1000 - Date.parse(new Date()) / 1000;

    //清理掉倒计时
    clearInterval(that.data.interval_daojishi);
    //开始倒计时
    that.data.interval_daojishi = setInterval(function() {
      // 秒数
      var second = totalSecond;
      // 天数位
      var day = Math.floor(second / 3600 / 24);
      var dayStr = day.toString();
      if (dayStr.length == 1) dayStr = '0' + dayStr;
      // 小时位
      var hr = Math.floor((second - day * 3600 * 24) / 3600);
      var hrStr = hr.toString();
      if (hrStr.length == 1) hrStr = '0' + hrStr;
      // 分钟位
      var min = Math.floor((second - day * 3600 * 24 - hr * 3600) / 60);
      var minStr = min.toString();
      if (minStr.length == 1) minStr = '0' + minStr;
      // 秒位
      var sec = second - day * 3600 * 24 - hr * 3600 - min * 60;
      var secStr = sec.toString();
      if (secStr.length == 1) secStr = '0' + secStr;

      that.setData({
        countDownDay: dayStr,
        countDownHour: hrStr,
        countDownMinute: minStr,
        countDownSecond: secStr,
      });
      totalSecond--;

      if (totalSecond < 0) {
        //倒计时结束,清理掉倒计时
        clearInterval(that.data.interval_daojishi);
        that.setData({
          countDownDay: '00',
          countDownHour: '00',
          countDownMinute: '00',
          countDownSecond: '00',
        });
      }
    }.bind(this), 1000);
  },
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 13,801评论 1 32
  • 最近在做一款医疗健康项目时,在想一个问题:目前的产品流程、功能、交互是否达到了我们的预期,或者说用户在使用中会不会...
    崔念阅读 3,671评论 0 0
  • 新年第一天的惊喜,邂逅一场精彩的音乐剧:德语经典音乐剧《莫扎特》。 说真的,本来并未对这个音乐剧抱有太多期待,一是...
    午后的轻语呢喃阅读 3,486评论 0 1
  • 小明大学毕业后的第一年攒了一万元,虽然不多,但是有攒钱的意识并且能攒下钱,对于一个刚毕业进入社会的新人并不容易。 ...
    果幂的N次方阅读 1,748评论 0 1
  • 感恩宇宙的厚爱,我总是幸运的,一切美好的事情总是发生在我身上。 感谢以最好的价格买到了我最爱的家具。 谢谢磊磊寄来...
    李小娣ILoveu阅读 760评论 0 0