@TOC
这会不会是今天写的最简单的一篇文…?
前言
今天在学校做2020年的题,碰到一个需求:用户在这个页面选择了症状,需要在下一个页面显示出用户选择的项;
这,这就触及到我的知识盲区了…
我突然想到前几天写Vue用了localStorage,总算是没空着,但还是想知道会不会有更好的方法.
一、localStorage本地存储
不能用sessionStorage,sessionStorage在当前会话关闭之后会进行销毁,存储的东西在下个页面全是undefined.
1 | //PageA |
当时提示我setItem应该传入两个参数,我觉得一个是key一个是value的话key应该不用提前声明,然后一跑,不行,这个value1还就得声明出来,哪怕你不赋值.
1 | //pageB |
然后在B页面接收value1我就更是觉得”这个总可以直接拿来赋值进变量了吧?” 结果还是不行,还是得声明出value1才能拿到getItem()的value1.
这个方法好在在第二个页面拿到数据之后不用进行太多处理,能比较方便的使用.
二、URL传值
这个是我问了下同学他用的方法,感觉思维上更加合理一点,
1 | <!-- pageA --> |
主要就是URL拼接,其他也没什么好说的:
window.open(“”)
1 | 目标页面路径URL:'要打开的地址 + ? + 参数1 + & + 参数2 + & + 参数3 + ...' |
在终点页面使用window.location.search()方法获取地址栏传过来的参数,得到”?参数1&参数2&参数3”
可以将其赋值给一个变量准备分离出传来的值:
var receiveValue = window.location.search
不要问号:receiveValue.substr(1)
1 | <body> |
比较糟糕的就是对于数据处理的步骤相比较来说会多一些.
总结
这是我个人的一些理解啦,如果您发现我的不足,我很高兴您能为我指出!
: )