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 相关文章推荐
自动检查并替换文本框内的字符
Jun 30 Javascript
jquery的index方法实现tab效果
Feb 16 Javascript
createElement与createDocumentFragment的点点区别小结
Dec 19 Javascript
JS图片无缝滚动(简单利于使用)
Jun 17 Javascript
jQuery实现弹出窗口中切换登录与注册表单
Jun 05 Javascript
JavaScript优化以及前段开发小技巧
Feb 02 Javascript
详解node.js搭建代理服务器请求数据
Apr 08 Javascript
JavaScript创建对象方法实例小结
Sep 03 Javascript
JS实现获取当前所在周的周六、周日示例分析
May 11 Javascript
关于JS解构的5种有趣用法
Sep 05 Javascript
uniapp与webview之间的相互传值的实现
Jun 29 Javascript
vue3+typeScript穿梭框的实现示例
Dec 29 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
一个PHP的String类代码
2010/04/20 PHP
php用数组返回无限分类的列表数据的代码
2010/08/08 PHP
ThinkPHP3.1新特性之多数据库操作更加完善
2014/06/19 PHP
学习PHP session的传递方式
2016/06/15 PHP
window resize和scroll事件的基本优化思路
2014/04/29 Javascript
Nodejs实战心得之eventproxy模块控制并发
2015/10/27 NodeJs
jQuery Validate初步体验(二)
2015/12/12 Javascript
简单了解JavaScript操作XPath的一些基本方法
2016/06/03 Javascript
js利用clipboardData实现截屏粘贴功能
2016/10/12 Javascript
jQuery实现导航回弹效果
2017/02/27 Javascript
AngularJS2中一种button切换效果的实现方法(二)
2017/03/27 Javascript
webpack学习笔记之代码分割和按需加载的实例详解
2017/07/20 Javascript
Vue多环境代理配置方法思路详解
2019/06/21 Javascript
移动端吸顶fixbar的解决方案详解
2019/07/17 Javascript
layui select 禁止点击的实现方法
2019/09/05 Javascript
layui-table表复选框勾选的所有行数据获取的例子
2019/09/13 Javascript
vue iview实现动态新增和删除
2020/06/17 Javascript
vue flex 布局实现div均分自动换行的示例代码
2020/08/05 Javascript
Node在Controller层进行数据校验的过程详解
2020/08/28 Javascript
wxpython中利用线程防止假死的实现方法
2014/08/11 Python
python检查指定文件是否存在的方法
2015/07/06 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
2017/08/24 Python
python简单商城购物车实例代码
2018/03/15 Python
python 读取txt,json和hdf5文件的实例
2018/06/05 Python
mac下如何将python2.7改为python3
2018/07/13 Python
python如何实现代码检查
2019/06/28 Python
python快速安装OpenCV的步骤记录
2021/02/22 Python
css3 按钮 利用css3实现超酷下载按钮
2013/03/18 HTML / CSS
新西兰领先的鞋类和靴子网上商城:Merchant 1948
2017/09/08 全球购物
建筑经济管理专业求职信分享
2014/01/06 职场文书
我的中国梦演讲稿400字
2014/08/19 职场文书
小浪底导游词
2015/02/12 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
2016教师政治学习心得体会
2016/01/23 职场文书
小学四年级班务总结该怎么写?
2019/08/16 职场文书
mybatis 解决从列名到属性名的自动映射失败问题
2021/06/30 Java/Android