最近还是那个刷题系统,有一个做题记录
功能,就是在进入一个页面之后,有一个router-link
,里面to=/subject-records
,在subject-records.vue
中,只有几行代码:
localStorage.setItem("history", 'true')
this.$router.push({
path: "/subject-moni",
query: {
name: this.name
}
});
而在subject-moni.vue
中,mounted中有以下代码:
// 获取是否是包含错题记录的
const historyMessage = localStorage.getItem('history');
// 如果是从做题记录跳转过来的
if (historyMessage === 'true') {
// 获取上次的题目的详细信息
const subjects = JSON.parse(localStorage.getItem(`last-subject-${this.type
}-info`));
// 如果上次有题目
if (subjects) {
// 将上次的题目赋值给`this.subjects`中
this.subjects = subjects.subjects;
setTimeout(() => {
// 将swiper滑动到上次做到的题目的索引处
$(".slick").slick('slickGoTo', subjects.index);
}, 100);
}
// 从localStorage中删除history
localStorage.removeItem('history')
} else
// 更新数据
this.getAll();
last-subject-xxxx-info
中是以下数据:
// 将这道题目的详细信息记录到localStorage中
localStorage.setItem(`last-subject-${this.type}-info`, JSON.stringify({
// 当前做到的题目的 ID
id: $(".slick-active .item-hide").html(),
// 当前做的的题目在总的题目总的序号
index: $('.slick').slick('slickCurrentSlide'),
// 当前的一套题
subjects: this.subjects,
}));
其中的jquery选择器内容见轮播图卡顿,各位HTMLer请教,怎么解决? 我的第一条评论。大部分要求已经解决了,但是我又又遇到了一个问题:某些只管提要求的人说:不是,你这进去之后,前面做的题的内容呢?你这题目有了,索引也跳了,但是你这前面的题呢?
意思是什么呢?就是假如我做到了第34道题,前面的做过的题目都长这样:
而我从做题记录功能跳进去,前面的题目恢复了原样:
如何才能从做题记录跳进去,前面的题目的已做信息还保留?我尝试过将.slick
的html内容保留下来,但是vue的img路径,从@/imgs/success.png
变成了这个样子data:image/png;base64,iVBORw0K A...
后面很长很长,省略了,所以随便100道题目存到localStorage中,显示4.31MB,我就放弃了保存html的想法,各位JavaScripter,怎么解决?