受以前学习的影响 ,认为在任何地方都可以调用的变量,一定是全局变量。于是,就想把用户登录的账号和密码保存起来,当            做全局变量。

     在网上看了许多相关资料,全局变量是可以,可是他们定义的都是死的数据。

    顺便介绍一下 他们定义全局变量的思路 。

         在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 但是你也可以设置  记住: 它只在设定时间前有效 

  好了,完毕 。

 

Logo

前往低代码交流专区

更多推荐