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 相关文章推荐
用showModalDialog弹出页面后,提交表单总是弹出一个新窗口
Jul 18 Javascript
Web开发者必备的12款超赞jQuery插件
Dec 03 Javascript
Javascript和HTML5利用canvas构建Web五子棋游戏实现算法
Jul 17 Javascript
PHP+mysql+Highcharts生成饼状图
May 04 Javascript
JavaSciprt中处理字符串之sup()方法的使用教程
Jun 08 Javascript
基于javascript实现浏览器滚动条快到底部时自动加载数据
Nov 30 Javascript
jquery插入兄弟节点的操作方法
Dec 07 Javascript
React-router4路由监听的实现
Aug 07 Javascript
Vue-不允许嵌套式的渲染方法
Sep 13 Javascript
解决Layui 表格自适应高度的问题
Nov 15 Javascript
React学习之受控组件与数据共享实例分析
Jan 06 Javascript
Vue ​v-model相关知识总结
Jan 28 Vue.js
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
浅谈web上存漏洞及原理分析、防范方法(安全文件上存方法)
2013/06/29 PHP
php数组添加与删除单元的常用函数实例分析
2015/02/16 PHP
php自动提交表单的方法(基于fsockopen与curl)
2016/05/09 PHP
php对xml文件的增删改查操作实现方法分析
2017/05/19 PHP
thinkphp整合系列之极验滑动验证码geetest功能
2019/06/18 PHP
用javascript实现点击链接弹出&quot;图片另存为&quot;而不是直接打开
2007/08/15 Javascript
理解JavaScript的caller,callee,call,apply
2009/04/28 Javascript
为jquery.ui.dialog 增加“在当前鼠标位置打开”的功能
2009/11/24 Javascript
EASYUI TREEGRID异步加载数据实现方法
2012/08/22 Javascript
jQuery复制表单元素附源码分享效果演示
2015/09/30 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
2015/11/17 Javascript
jQuery弹出层后禁用底部滚动条(移动端关闭回到原位置)
2016/08/29 Javascript
[20:57]Ti4主赛事第三天开幕式
2014/07/21 DOTA
python读写文件操作示例程序
2013/12/02 Python
Python开发WebService系列教程之REST,web.py,eurasia,Django
2014/06/30 Python
用Python实现一个简单的能够上传下载的HTTP服务器
2015/05/05 Python
python导出hive数据表的schema实例代码
2018/01/22 Python
python flask中静态文件的管理方法
2018/03/20 Python
在unittest中使用 logging 模块记录测试数据的方法
2018/11/30 Python
用Cython加速Python到“起飞”(推荐)
2019/08/01 Python
centos7之Python3.74安装教程
2019/08/15 Python
Python内置方法实现字符串的秘钥加解密(推荐)
2019/12/09 Python
使用 prometheus python 库编写自定义指标的方法(完整代码)
2020/06/29 Python
python实现简单的五子棋游戏
2020/09/01 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
Canvas在超级玛丽游戏中的应用详解
2021/02/06 HTML / CSS
澳大利亚网上书店:QBD
2021/01/09 全球购物
个人自我鉴定
2013/11/07 职场文书
求职信格式要求
2014/05/23 职场文书
品牌转让协议书
2014/08/20 职场文书
住宿生擅自离校检讨书
2014/09/22 职场文书
公司离职证明范本
2014/10/17 职场文书
活动宣传稿范文
2015/07/23 职场文书
Python torch.flatten()函数案例详解
2021/08/30 Python
微软Win11 全新照片应用面向 Dev预览版推出 新版本上手体验图集
2022/09/23 数码科技
CSS中理解层叠性及权重如何分配
2022/12/24 HTML / CSS