sessionstorage跨页面能传值吗

403 阅读1分钟

 我个人认为分为两种情况

1.第一种是非vue项目中,就是在浏览器中打开两个页面,页面a.html和页面b.html同时打开,在a中存储sessionstorage,在新的页面窗口b.html中是拿不到a存的值得

2.第二种是在vue项目中,不同的vue页面是能拿到某一个页面中存储的sessionstorage值的,因为vue中是spa单页面,仅在Web 页面初始化时加载相应的 HTML、JavaScript 和 CSS,一旦页面加载完成,SPA 不会因为用户的操作而进行页面的重新加载或跳转;而页面的变化是利用路由机制实现 HTML 内容的变换,避免页面的重新加载,所以切换路由,相当于还在同一个窗口中,所以在a.vue中存的sessionstorage值,在b.vue中也是可以拿到的

1.存值:
    sessionStorage.setItem('名字':'值');
2.取值:
    sessionStorage.getItem('名字');
3.注意:
    1).只能传字符串,如果要传对象或数组对象用JSON.stringify()先变成字符串。
    2).接收到的变成字符串的对象用JSON.parse()重新变回对象