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改变文章字体大小的实例代码
Nov 27 Javascript
JavaScript fontsize方法入门实例(按照指定的尺寸来显示字符串)
Oct 17 Javascript
Jquery 实现grid绑定模板
Jan 28 Javascript
图解js图片轮播效果
Dec 20 Javascript
基于javascript实现根据身份证号码识别性别和年龄
Jan 22 Javascript
关于在mongoose中填充外键的方法详解
Aug 14 Javascript
20170918 前端开发周报之JS前端开发必看
Sep 18 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
May 07 Javascript
JS实现的图片选择顺序切换和循环切换功能示例【测试可用】
Dec 28 Javascript
基于html+css+js实现简易计算器代码实例
Feb 28 Javascript
利用原生JS实现欢乐水果机小游戏
Apr 23 Javascript
Vue实现开关按钮拖拽效果
Sep 22 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学习之变量的使用
2011/05/29 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
php不使用copy()函数复制文件的方法
2015/03/13 PHP
部署PHP时的4个配置修改说明
2015/10/19 PHP
js 完美图片新闻轮转效果,腾讯大粤网首页图片轮转改造而来
2011/11/21 Javascript
面向对象继承实例(a如何继承b问题)(自写)
2013/07/01 Javascript
JQuery动画animate的stop方法使用详解
2014/05/09 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
js拖拽的原型声明和用法总结
2016/04/04 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
2016/10/10 Javascript
layer弹出层框架alert与msg详解
2017/03/14 Javascript
Three.js利用dat.GUI如何简化试验流程详解
2017/09/26 Javascript
vue使用mint-ui实现下拉刷新和无限滚动的示例代码
2017/11/06 Javascript
jQuery中的$是什么意思及 $. 和 $().的区别
2018/04/20 jQuery
基于bootstrap页面渲染的问题解决方法
2018/08/09 Javascript
layer弹出的iframe层在执行完毕后关闭当前弹出层的方法
2018/08/17 Javascript
Angular PWA使用的Demo示例
2019/01/31 Javascript
Vue 刷新当前路由的实现代码
2019/09/26 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
JS求解两数之和算法详解
2020/04/28 Javascript
使用React代码动态生成栅格布局的方法
2020/05/24 Javascript
小程序实现tab标签页
2020/11/16 Javascript
[02:45]2016年中国刀塔全程回顾,完美“圣”典即将上演
2016/12/15 DOTA
[47:35]VP vs Pain 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/20 DOTA
Python3.5编程实现修改IIS WEB.CONFIG的方法示例
2017/08/18 Python
Python中跳台阶、变态跳台阶与矩形覆盖问题的解决方法
2018/05/19 Python
python使用turtle绘制国际象棋棋盘
2019/05/23 Python
TensorFlow tf.nn.conv2d实现卷积的方式
2020/01/03 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
django 模型字段设置默认值代码
2020/07/15 Python
物流管理专业职业生涯规划书
2014/01/06 职场文书
服务承诺书格式
2014/05/21 职场文书
搞笑婚庆主持词
2015/06/29 职场文书
幼儿园师德师风心得体会
2016/01/12 职场文书
pygame面向对象的飞行小鸟实现(Flappy bird)
2021/04/01 Python
详解redis在微服务领域的贡献
2021/10/16 Redis