localstorage缓存系统时间怎么实时变化的问题?
this.recordList是数组,现在是setTimes是拿到当前的时间戳
但是现在插入到数组里面的对象key,比如第一次提交的时间段是12:00:00 再次提交就还是会12:00:00,按道理是12:00:10
如图所示:
代码如下:
const paramsdatas = this.recordList.map(item => ({ ...item,
setTimes: this.startTime
}));
paramsdatas.forEach(item => {
this.newArr.push(item)
})
const locadataItems = JSON.stringify(this.newArr)
localStorage.setItem('recordListdata', locadataItems);
取的数据
mounted() { this.showdata = JSON.parse(localStorage.getItem('recordListdata'))
},
期望是每次提交时间都会不一样的效果
回答:
先修改你的 setTimes
方法。
setTimes(this: any) { var _this = this;
let yy = new Date().getFullYear();
let mm = new Date().getMonth() + 1;
let dd = new Date().getDate();
let hh = new Date().getHours();
let mf = new Date().getMinutes() < 10 ? "0" + new Date().getMinutes() : new Date().getMinutes();
let ss = new Date().getSeconds() < 10 ? "0" + new Date().getSeconds() : new Date().getSeconds();
_this.startTime = yy + "-" + mm + "-" + dd + " " + hh + ":" + mf + ":" + ss;
+ return _this.startTime
},
然后修改你的业务代码:
const paramsdatas = this.recordList.map(item => ({ ...item,
- setTimes: this.startTime
+ setTimes: this.setTimes()
}));
paramsdatas.forEach(item => {
this.newArr.push(item)
})
const locadataItems = JSON.stringify(this.newArr)
localStorage.setItem('recordListdata', locadataItems);
这样你每次调用的时候都会是新的时间戳了。
回答:
把 this.startTime 变成方法,不要用属性,如果是属性的话,只在这个类加载的时候获取,后面使用时,它的时间不会变,改成方法的话,每次调用就是不同的时间
以上是 localstorage缓存系统时间怎么实时变化的问题? 的全部内容, 来源链接: utcz.com/p/934063.html