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 相关文章推荐
jsp js鼠标移动到指定区域显示选项卡离开时隐藏示例
Jun 14 Javascript
鼠标滚轮改变图片大小的示例代码
Nov 20 Javascript
js 动态加载事件的几种方法总结
Dec 25 Javascript
了不起的node.js读书笔记之node.js中的特性
Dec 22 Javascript
javascript继承的六大模式小结
Apr 13 Javascript
关于延迟加载JavaScript
May 05 Javascript
快速学习JavaScript的6个思维技巧
Oct 13 Javascript
JavaScript中获取Radio被选中的值
Nov 11 Javascript
关于json字符串与实体之间的严格验证代码
Nov 10 Javascript
JS操作input标签属性checkbox全选的实现代码
Mar 02 Javascript
使用selenium抓取淘宝的商品信息实例
Feb 06 Javascript
JS中的两种数据类型及实现引用类型的深拷贝的方法
Aug 12 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实现网上点歌(二)
2006/10/09 PHP
PHP 创建标签云函数代码
2010/05/26 PHP
详解WordPress开发中wp_title()函数的用法
2016/01/07 PHP
php快速排序原理与实现方法分析
2016/05/26 PHP
jQuery取id有.的值的方法
2014/05/21 Javascript
基于JavaScript实现鼠标箭头移动图片跟着移动
2016/08/30 Javascript
JS 事件绑定、事件监听、事件委托详细介绍
2016/09/28 Javascript
JS设置CSS样式的方式汇总
2017/01/21 Javascript
微信小程序首页的分类功能和搜索功能的实现思路及代码详解
2018/09/11 Javascript
深入浅析vue-cli@3.0 使用及配置说明
2019/05/08 Javascript
es6中比较有用的7个技巧小结
2019/07/12 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
2019/07/23 Javascript
js tab栏切换代码实例解析
2019/09/03 Javascript
vue 弹出遮罩层样式实例
2020/07/22 Javascript
Python中函数eval和ast.literal_eval的区别详解
2017/08/10 Python
numpy数组拼接简单示例
2017/12/15 Python
python负载均衡的简单实现方法
2018/02/04 Python
Python自定义线程池实现方法分析
2018/02/07 Python
python变量命名的7条建议
2019/07/04 Python
python os.path.isfile()因参数问题判断错误的解决
2019/11/29 Python
python有几个版本
2020/06/17 Python
Python enumerate() 函数如何实现索引功能
2020/06/29 Python
详解canvas在圆弧周围绘制文本的两种写法
2018/05/22 HTML / CSS
世界闻名的衬衫制造商:Savile Row Company
2018/07/30 全球购物
公司董事长职责
2013/12/12 职场文书
会计大学生职业生涯规划书范文
2014/01/13 职场文书
学用政策心得体会
2014/09/10 职场文书
群众路线四风自我剖析材料
2014/10/08 职场文书
优秀团员事迹材料
2014/12/25 职场文书
舞蹈社团活动总结
2015/05/07 职场文书
公司文体活动总结
2015/05/07 职场文书
小学中队长竞选稿
2015/11/20 职场文书
电工实训心得体会
2016/01/14 职场文书
Oracle安装TNS_ADMIN环境变量设置参考
2021/11/01 Oracle
python机器学习创建基于规则聊天机器人过程示例详解
2021/11/02 Python
vue3 自定义图片放大器效果的示例代码
2022/07/23 Vue.js