码迷,mamicode.com
首页 > 微信 > 详细

uni 微信小程序定时器页面不更新

时间:2021-05-24 14:11:54      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:编写   UNC   计时   date()   pre   down   分析   func   倒计时   

uni 编写微信小程序,uni中写定时器在小程序端会出现,页面更新不及时的情况

今天在项目中遇到了这个问题,苦苦找了2个小时,

下面以我在倒计时定时器中遇到的问题为例,如何去解决

for (let index in t.goodsList) {
  let timeLeave = new Date(t.goodsList[index].endTime).getTime() - new Date().getTime()
  if (timeLeave <= 0) {
    t.goodsList[index].goodhidden = true
    clearInterval(t.cutdownsetIntervalList[index])
    t.cutdownsetIntervalList[index] = null
    return
  }
  t.cutdownsetIntervalList[index] = setInterval(function() {
  if (t.homeTagIndex !== 4) {
    clearInterval(t.cutdownsetIntervalList[index])
    t.cutdownsetIntervalList[index] = null
    return
  }
  t.cutdownTimeList[index] = t.timeCl(t.goodsList[index].startTime, t.goodsList[index].endTime)
  t.$forceUpdate();
// console.log(t.cutdownTimeList[index]) // 这里输出的数据都会更新

 

一开始以为是定时器的问题,输出数据后发现,数据是每一秒中打印一次没有问题,

经过分析应该是微信小程序没有及时更新页面渲染,导致几秒钟才变更一次

for (let index in t.goodsList) {
  let timeLeave = new Date(t.goodsList[index].endTime).getTime() - new Date().getTime()
  if (timeLeave <= 0) {
    t.goodsList[index].goodhidden = true
    clearInterval(t.cutdownsetIntervalList[index])
    t.cutdownsetIntervalList[index] = null
    return
  }
  t.cutdownsetIntervalList[index] = setInterval(function() {
  if (t.homeTagIndex !== 4) {
    clearInterval(t.cutdownsetIntervalList[index])
    t.cutdownsetIntervalList[index] = null
    return
  }
  t.cutdownTimeList[index] = t.timeCl(t.goodsList[index].startTime, t.goodsList[index].endTime)
t.$forceUpdate();
//这里让微信小程序强制更新数据就可以解决这个问题

// console.log(t.cutdownTimeList[index]) // 这里输出的数据都会更新

 

uni 微信小程序定时器页面不更新

标签:编写   UNC   计时   date()   pre   down   分析   func   倒计时   

原文地址:https://www.cnblogs.com/timesz/p/14779077.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!