Vue中保存用户登录状态实例代码


Posted in Javascript onJune 07, 2017

首先我们假设,这里的登录组件(register.vue)是App.vue组件的子组件,是通过路由进入登录组件的。

登录组件中用户点击登录后,后台会传过来一个用户名,我的App.vue组件中需要拿到这个用户名,并将上面的“登录注册”字样变为“用户名”。

为了保证用户刷新后用户名不会消失,这里我用到了sessionStorage

代码如下:

register.vue中用户点击登录触发signIn方法

signIn(){
    this.formData = $(".form").serialize();
    var that = this;
    this.$http.get("/api/user", this.formData)
     .then(response => {
      that.userName = response.data.data.user.userName;
      that.userHead = response.data.data.userHead;
      that.$emit('userSignIn', that.userName);
     })
     .catch(error => {
      console.log(error);
     });
   }

这里为了测试我直接mock的数据,真实情况应该是this.$http.post

这里的重点是那句

that.$emit('userSignIn', that.userName);

向父组件(App.vue)传值

App.vue代码HTML

<keep-alive>
   <router-view @userSignIn="userSignIn"></router-view>
</keep-alive>

App.vue代码JS

export default {

 data(){
  return{
   userName: sessionStorage.userName
  }
 },

 methods:{
  //子组件(register)将用户名传过来
  userSignIn(userName){
   sessionStorage.userName = userName;
   this.userName = sessionStorage.userName;
  }
 }
}

这样父组件就可以使用用户名,保持了登录状态,并且因为使用了sessionStorage,刷新页面也可以保持。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
简单时间提示DEMO从0开始一直进行计时
Nov 19 Javascript
js判断当前浏览器类型,判断IE浏览器方法
Jun 02 Javascript
理解jQuery stop()方法
Nov 21 Javascript
JS控制层作圆周运动的方法
Jun 20 Javascript
jquery通过name属性取值的简单实现方法
Jun 20 Javascript
Webpack+Vue如何导入Jquery和Jquery的第三方插件
Feb 20 Javascript
JS模拟实现ECMAScript5新增的数组方法
Mar 20 Javascript
vue2中filter()的实现代码
Jul 09 Javascript
element-ui中的select下拉列表设置默认值方法
Aug 24 Javascript
Angular2中监听数据更新的方法
Aug 31 Javascript
JavaScript的变量声明与声明提前用法实例分析
Nov 26 Javascript
使用node.JS中的url模块解析URL信息
Feb 06 Javascript
jquery dataTable 后台加载数据并分页实例代码
Jun 07 #jQuery
jQuery用户头像裁剪插件cropbox.js使用详解
Jun 07 #jQuery
使用vue和datatables进行表格的服务器端分页实例代码
Jun 07 #Javascript
Angular 4 指令快速入门教程
Jun 07 #Javascript
jstree单选功能的实现方法
Jun 07 #Javascript
JQueryMiniUI按照时间进行查询的实现方法
Jun 07 #jQuery
webpack打包单页面如何引用的js
Jun 07 #Javascript
You might like
PHP面向对象分析设计的经验原则
2008/09/20 PHP
PHP可变函数学习小结
2015/11/29 PHP
thinkphp整合微信支付代码分享
2016/11/24 PHP
php session的应用详细介绍
2017/03/22 PHP
利用PHPStorm如何开发Laravel应用详解
2017/08/30 PHP
js或css文件后面跟参数的原因说明
2010/01/09 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
js中设置元素class的三种方法小结
2011/08/28 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
JS操作Cookies的小例子
2013/10/15 Javascript
javascript 小数取整简单实现方式
2014/05/30 Javascript
JavaScript代码复用模式详解
2014/11/07 Javascript
jquery显示loading图片直到网页加载完成的方法
2015/06/25 Javascript
javascript中加var和不加var的区别 你真的懂吗
2016/01/06 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
2016/09/04 Javascript
用nodejs实现json和jsonp服务的方法
2017/08/25 NodeJs
JS实现的计数排序与基数排序算法示例
2017/12/04 Javascript
详解VUE2.X过滤器的使用方法
2018/01/11 Javascript
详解vue在项目中使用百度地图
2019/03/26 Javascript
在Vue中使用icon 字体图标的方法
2019/06/14 Javascript
nodejs制作小爬虫功能示例
2020/02/24 NodeJs
可拖拽组件slider.js使用方法详解
2020/12/04 Javascript
Javascript实现单选框效果
2020/12/09 Javascript
python生成随机密码或随机字符串的方法
2015/07/03 Python
python框架django基础指南
2016/09/08 Python
Python实现的直接插入排序算法示例
2018/04/29 Python
python中几种自动微分库解析
2019/08/29 Python
如何使用Python处理HDF格式数据及可视化问题
2020/06/24 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
生产经理的自我评价分享
2013/11/07 职场文书
幼儿园家长评语
2014/02/10 职场文书
处级领导干部四风问题自我剖析材料
2014/09/29 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
迁徙的鸟观后感
2015/06/09 职场文书
2016高校自主招生自荐信范文
2016/01/28 职场文书
Golang连接并操作MySQL
2022/04/14 MySQL