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 相关文章推荐
jquery easyui滚动条部分设置介绍
Sep 12 Javascript
JS 新增Cookie 取cookie值 删除cookie 举例详解
Oct 10 Javascript
jquery获取radio值(单选组radio)
Oct 16 Javascript
Bootstrap实现默认导航栏效果
Sep 21 Javascript
浅析jquery如何判断滚动条滚到页面底部并执行事件
Apr 29 Javascript
jQuery命名空间与闭包用法示例
Jan 12 Javascript
Vue2.0 axios前后端登陆拦截器(实例讲解)
Oct 27 Javascript
Layui数据表格之获取表格中所有的数据方法
Aug 20 Javascript
大转盘抽奖小程序版 转盘抽奖网页版
Apr 16 Javascript
vue axios重复点击取消上一次请求封装的方法
Jun 19 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
Sep 09 Javascript
JavaScript实现商品评价五星好评
Nov 30 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/05/24 PHP
PHPMyadmin 配置文件详解(配置)
2009/12/03 PHP
php把数据表导出为Excel表的最简单、最快的方法(不用插件)
2014/05/10 PHP
PHP消息队列用法实例分析
2016/02/12 PHP
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
jQuery 表单验证扩展(四)
2010/10/20 Javascript
Javascript中 关于prototype属性实现继承的原理图
2013/04/16 Javascript
JS实现文字放大效果的方法
2015/03/03 Javascript
学习使用AngularJS文件上传控件
2016/02/16 Javascript
JS实现获取当前URL和来源URL的方法
2016/08/24 Javascript
解决node.js安装包失败的几种方法
2016/09/02 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
Vue input控件通过value绑定动态属性及修饰符的方法
2017/05/03 Javascript
React Native时间转换格式工具类分享
2017/10/24 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
原生JS控制多个滚动条同步跟随滚动效果
2017/12/22 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
JavaScript实现的鼠标跟随特效示例【2则实例】
2018/12/22 Javascript
bootstrap-table+treegrid实现树形表格
2019/07/26 Javascript
vue3为什么要用proxy替代defineProperty
2020/10/19 Javascript
Python实现打印螺旋矩阵功能的方法
2017/11/21 Python
python中break、continue 、exit() 、pass终止循环的区别详解
2019/07/08 Python
简单介绍django提供的加密算法
2019/12/18 Python
python 通过 pybind11 使用Eigen加速代码的步骤
2020/12/07 Python
定制别致的瑜伽垫:Sugarmat
2019/06/21 全球购物
娇韵诗俄罗斯官方网站:Clarins俄罗斯
2020/10/03 全球购物
内科护士实习自我鉴定
2013/10/17 职场文书
挑战杯创业计划书的写作指南
2014/01/07 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
排查整治工作方案
2014/06/09 职场文书
2016年党员创先争优公开承诺书
2016/03/25 职场文书
带你彻底理解JavaScript中的原型对象
2021/04/14 Javascript
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
css 边框添加四个角的实现代码
2021/10/16 HTML / CSS