在写vue的一个函数时发现一个赋值问题,在此记录一下
情况是这样的, data中定义的数据Examendtime,Examdjs,在created()中调用methods中的formatSeconds函数,返回的值赋给this.Examdjs,倒计时组件 <Timed :remainTime="Examdjs"/>
formatSeconds(s) {
let time;
//获取当前时间
let date = new Date();
let now = date.getTime();
this.Examstaretime = date.format('yyyy-MM-dd hh:mm:ss')
//截止时间
let enddate =(now+120*60*1000);
let timeing = new Date(s);
let timesta = new Date(enddate);
if(s === ""){ //s是否为空
this.Examendtime = timesta.toLocaleString();
time = (enddate - now)/1000;
}else {
this.Examendtime = s;
time = (timeing.getTime() - now) / 1000;
}
return time;
},
开始的时候是这样写的
if(s === ""){ //s是否为空
time = (enddate - now)/1000;
this.Examendtime = timesta.toLocaleString();
}else {
time = (timeing.getTime() - now) / 1000;
this.Examendtime = s;
}
return time;
},
data中数据变化后,可以取到time的值,但是不能传给组件。顺序变化后可以赋值,刚接触vue不久,对生命周期还不太理解