请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

vuex与 localStorage sessionStorage区别

这个是state.js的代码,我发现state里存的数据实际上还是localStorage获取的。既然这样的直接用localStorage存储数据和vuex有什么区别呢,vuex还有Actions  mutations这么麻烦的

let defaultCity='深圳'

try {

if(localStorage.city){

defaultCity=localStorage.city

}

} catch (e) {}


export default {

city:defaultCity

}


正在回答

1回答

一个是缓存,一个是全局对象,换句话说,你放到localStroage里面的东西,你刷新以后是不是消失的,而vuex里面的就会进行重置,此外,vuex里面可以存储各种数据结果,而local里面键值对的值必须是字符串,你必须要把他们解析成为一个对象才能更好的使用。

而为什么不怎么使用localStorage,如果是我得话我觉得也可以用localStorage吧。放到vuex里面主要是为了对所有的全局进行更好的管理吧。大概是这样想的,为了代码更好看一点?

0 回复 有任何疑惑可以回复我~
  • 提问者 tokingtop #1
    看代码的时候发现的  state获取的数据就是localStorage啊  vuex搞得好头疼。估计会了就简单了  谢谢啊
    回复 有任何疑惑可以回复我~ 2018-04-28 12:06:01
  • 李行知 回复 提问者 tokingtop #2
    不不,最大的问题在于,你在vuex里面定义的,你是可以去找到的,所有的全局的都是在一个问题位置你知道现在有那些东西被定义成全局了,而滥用local,那么很多时候,可能要用的是一个东西东西,但是因为多人合作的原因,其实这个东西在其他文件中定义了,就容易写乱了吧
    回复 有任何疑惑可以回复我~ 2018-04-28 13:09:26
  • 提问者 tokingtop 回复 李行知 #3
    export default {
    	changeCity (state,city) {			
    		  state.city = city
    		try {
    		  localStorage.city = city		
    		} catch (e) {}
    	}
    }
    
    这个是mutations 的代码。mutations ,用localStorage改变数据,state用localStorage获取数据  其实都是用的localStorage
    回复 有任何疑惑可以回复我~ 2018-04-28 13:36:18
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信