基于vue.js和vuex做了一个todoList小demo,数据统一存储在vuex中。
现在希望list的数据变化实时保存在localstorage中,这样页面刷新时,数据能还原。本来以为可以像vuejs中那样通过watch统一处理下
watch:{
list:{
handler(val){
localStorage.setItem('todo-list',JSON.stringify(val));
},
deep:true
}
},
结果发现不行,只好在每个mutation中执行:
localStorage.setItem('todo-list',JSON.stringify(state.list));//这句代码严重重复
代码如下:
这样感觉好笨重,太麻烦,本质需求就是“监听”list的变化,做一个统一处理而已,怎么弄呢?
做了一个在线demo,大神帮忙看下需求:
https://codepen.io/quiettroja...