为了账号安全,请及时绑定邮箱和手机立即绑定

Vue遇到定时器不能有返回值吗。

Vue遇到定时器不能有返回值吗。

临摹微笑 2019-03-14 18:19:36
我是用vue做倒计时的,加了定时器就不能在页面中显示,可以打印,但是不会更新时间。    yoytimer:function(){            for(var i = 0; i < this.shopdata.length; i++){            if(this.shopdata[i].ytiamer != ''){                this.shopdata[i].youtit = true;                var t1 = this.shopdata[i].ytiamer.split("'");//分割出数组                var t2 = t1[0].split(',');//分割出时间格式                var t3 = t2[1].split('-');//分割出月份                var t4;                if(t3[1] == undefined){                    t4 =  Number(t3[0]);                }else{                    t4 = Number(t3[0] - Number(t3[1]));                }//计算月份                var d = new Date(t2[0],t4,t2[2],t2[3],t2[4],t2[5]);                var d1 = new Date();                var timer = parseInt((d - d1) / 1000);                var da = parseInt(timer / 24 / 3600);                var h = parseInt((timer / 3600) % 24);                var m = parseInt((timer / 60) % 60);                var s = parseInt(timer % 60);                if(h < 10){                    h = '0'+ h;                }                if(da < 10){                    da = '0' + da;                }                if(m < 10){                    m = '0' + m;                }                if(s < 10){                    s = '0' + s;                }                // this.jjk();            }else{                this.shopdata[i].youtit = false;            }                    }        var data = '限时特惠:剩余'+ da + '天' + h + '时' + m + '分' + s +'秒';        return data;    },    jjk:function(dd){                var this1 = this.yoytimer();        var timer = setInterval(function(){            return 1;            console.log(this1);        },1000);    }
查看完整描述

2 回答

?
慕村9548890

TA贡献1884条经验 获得超4个赞

需要改写一下,需要在定时器中去执行方法,相当于log去打印一个偏函数,在外面获取的值是固定的,


jjk:function(dd){

        

        var that = this;

        var timer = setInterval(function(){

            return 1;

            console.log(that.yoytimer());

        },1000);

    }


查看完整回答
反对 回复 2019-03-18
?
慕仙森

TA贡献1827条经验 获得超7个赞

this1 = this.yoytimer。因为你的值一开始就确定了,不会重新计算


查看完整回答
反对 回复 2019-03-18
  • 2 回答
  • 0 关注
  • 851 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信