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 相关文章推荐
js 发个判断字符串是否为符合标准的函数
Apr 27 Javascript
JavaScript 基础知识 被自己遗忘的
Oct 15 Javascript
重载toString实现JS HashMap分析
Mar 13 Javascript
js解析xml字符串和xml文档实现原理及代码(针对ie与火狐)
Feb 02 Javascript
Underscore.js常用方法总结
Feb 28 Javascript
jQuery表格插件datatables用法详解
Nov 23 Javascript
解决layui中的form表单与button的点击事件冲突问题
Aug 15 Javascript
JS实现带阴历的日历功能详解
Jan 24 Javascript
es6数值的扩展方法
Mar 11 Javascript
vue在路由中验证token是否存在的简单实现
Nov 11 Javascript
JavaScript中的类型检查
Feb 03 Javascript
JS前端模块化原理与实现方法详解
Mar 17 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 通过Socket收发十六进制数据的实现代码
2013/08/16 PHP
php算法实例分享
2015/07/14 PHP
会自动逐行上升的文本框
2006/06/30 Javascript
javascript转换字符串为dom对象(字符串动态创建dom)
2010/05/10 Javascript
JavaScript面向对象(极简主义法minimalist approach)
2012/07/17 Javascript
Jquery 选中表格一列并对表格排序实现原理
2012/12/15 Javascript
吐槽一下我所了解的Node.js
2014/10/08 Javascript
javascript实现window.print()去除页眉页脚
2014/12/30 Javascript
Bootstrap每天必学之日期控制
2016/03/07 Javascript
javascript事件绑定学习要点
2016/03/09 Javascript
全面解析JavaScript中“&amp;&amp;”和“||”操作符(总结篇)
2016/07/18 Javascript
JQuery Ajax WebService传递参数的简单实例
2016/11/02 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
Javascript基础回顾之(二) js作用域
2017/01/31 Javascript
关于RxJS Subject的学习笔记
2018/12/05 Javascript
JS/jQuery实现获取时间的方法及常用类完整示例
2019/03/07 jQuery
2019最新21个MySQL高频面试题介绍
2020/02/06 Javascript
Vuex实现购物车小功能
2020/08/17 Javascript
JS将指定的某个字符全部转换为其他字符实例代码
2020/10/13 Javascript
[08:04]TI4西雅图DOTA2前线报道 海涛探访各路人马
2014/07/09 DOTA
Python多线程实现同步的四种方式
2017/05/02 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
使用Puppeteer爬取微信文章的实现
2020/02/11 Python
简单了解python shutil模块原理及使用方法
2020/04/28 Python
python文件编写好后如何实践
2020/07/07 Python
澳大利亚在线购买儿童玩具:Toy Universe
2017/12/28 全球购物
行政助理岗位职责范文
2013/12/03 职场文书
出生证明公证书
2014/04/09 职场文书
小学毕业演讲稿
2014/04/25 职场文书
英语课外活动总结
2014/08/27 职场文书
银行授权委托书样本
2014/10/13 职场文书
中学感恩教育活动总结
2015/05/05 职场文书
2015年秋季小学开学典礼主持词
2015/07/16 职场文书
python函数指定默认值的实例讲解
2021/03/29 Python
关于python爬虫应用urllib库作用分析
2021/09/04 Python
Python自动化实战之接口请求的实现
2022/05/30 Python