(vue)登录时 怎么将用户登录的信息保存 并全局都可以调用
受以前学习的影响 ,认为在任何地方都可以调用的变量,一定是全局变量。于是,就想把用户登录的账号和密码保存起来,当 做全局变量。 在网上看了许多相关资料,全局变量是可以,可是他们定义的都是死的数据。 顺便介绍一下 他们定义全局变量的思路 。 在script里定义变量和方法,通过export 暴露出去。 ...
受以前学习的影响 ,认为在任何地方都可以调用的变量,一定是全局变量。于是,就想把用户登录的账号和密码保存起来,当 做全局变量。
在网上看了许多相关资料,全局变量是可以,可是他们定义的都是死的数据。
顺便介绍一下 他们定义全局变量的思路 。
在script里定义变量和方法,通过export 暴露出去。
- eg: <script>
const serverSrc='这是一个测试';
const token='12345678';
export default
{
serverSrc,token
}
</script>
- eg: 在main.js 里挂载组件
import global_ from './components/Global'//引用文件 ‘’ 里面写刚才创建的vue的路径
Vue.prototype.GLOBAL = global_//挂载到Vue实例上面
- 然后在需要的页面 使用 this.GLOBAL.token 调用就好了
好了 ,以上全局变量操作就完成了。可是 我的变量不是死数据啊 !!!! !
于是问了一下傍边的Java大神们,他们给了我一个函数
传:localStorage.setItem('data',JSON.stringify(res.data.data)) 我的接口返回的是json 所以我转成了str
接:JSON.parse( localStorage.getItem("data")); 把得到的str 转成json
然后一试 ,果然可以 ,
在网上百度下,得出解释:localStorage是一种比cookie大的存贮空间。 大约5m
主要有四种方法 :1 localStorage.setItem(); 传
2. localStorage.getItem(); 接
3 localStorage.removeItem() ; 删
4 localStorage.setItem(); 改
真心觉得这个不错,至少解决了一大串问题 \(^o^)/~
跟它相似的还有一个 sessionStorage 也可以实现相似的功能 且api 都是一样的
那它们两个有啥异同点呢?
同:都是存在浏览器 不能参与服务器的传值 ,
异:localstorage是本地存贮 ,清除本地存贮才可以。sessionstorage 是关闭浏览器/页面 数据就会清除
既然谈到了它们两个 就再来说说cookie 吧
cookie 一般设定是20min 但是你也可以设置 记住: 它只在设定时间前有效
好了,完毕 。
更多推荐
所有评论(0)