vueX和localStorage的区别?
vueX存储在内存,loacalStorege以文件的方式存储在本地。
在登录的时候,一般都会用vueX配合localStorege用。用户信息存储在VueX,用于组件之间的传值,localStorage是本地存储,将数据存储到浏览器,一般都是跨页面传输数据。
刷新页面的时候vuex存储的值会丢失,localStorage不会。
cookie,sessionStorage,localStorage的区别?
1、cookie数据始终在同源http请求中携带(即使不需要),即cookie在浏览器和服务器来回传递;存储大小限制也不同,cookie数据不能超过4k,因为每次http请求都会携带cookie,所以cookie只适合保存很小的数据,如会话标示。
sessinStorage和localStorage不会自动把数据发给服务器,仅在本地保存。sessionStorage和localStorage虽然也有存储大小的限制,但比cookie大的多,可以达到5或更大。
2、数据有效期不同,sessionStorage:仅当浏览器窗口关闭前有效,自然也不能持久保持;localStorage:存储在在本地,永久有效。
3、作用域不同,sessionStorage不再不同浏览器窗口共享,即使在同一个页面;localStorage和cookie在所有同源窗口共享。
三者都保存在浏览器端。
应用场景:
cookie
1、会话管理,购物车商品
2、个性化:用户首选项、主体或者其他设置
3、跟踪:记录和分析行为,比如埋点,单点登录
sessionStorage
1、页面之间的 通信
localStorage
1、存储地理位置
2、浏览器在页面的具体位置
如何解决跨域问题?
出现的原因,浏览器的安全策略:同源策略。
当前请求的url:协议,域名,端口其中一个不一致,就跨域。
解决方案:
1、反向代理跨域
2、CORS
3、jsonP跨域
只支持get
核心思想:网页通过添加一个script元素,向服务器请求JSON数据,服务器将数据放在一个指定名字的回调函数参数位置传回来。
应用场景:
1、vue最主要用devSever的反向代理
使用多个地址可以通过后台cors配置跨域
另外也可以通过nginx进行代理。
vueX是什么?它实现数据状态管理的思路是什么?
vueX是vue2的状态管理工具,用于非父子通信的数据传输。vueX还集成了官方调试工具devtools管理vueX数据。
state:存储所有数据,
Mutation:修改所有的同步数据
gtters:相当于store的计算属性,
actions: 异步操作,最后交给mutation更新数据。
用户登录,购物车。
组件之间共享数据很多。