位置: 编程技术 - 正文

详解Vuex管理登录状态(vue+axios登录)

编辑:rootadmin

推荐整理分享详解Vuex管理登录状态(vue+axios登录),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:vue+axios登录,vuex管理登录状态,vuex管理登录状态,vue登录系统,vuex登录注册,vuex登陆,vuex管理登录状态,vuex管理登录状态,内容如对您有帮助,希望把文章链接给更多的朋友!

又仔细看了一遍vuex的文档,还是云里雾里的,不过至少明白它是一个专门管理状态的,根据数据状态的改变可以驱动视图更新,既然是这样那至少登录注册是一种状态,就用登录来做测试,学习vuex,不过话说回来,既然专门管理状态,那我至少要仔细推敲一下这个learn的学习项目有那些状态逻辑。

1、据说储存的vuex store里面的状态是临时的,右键刷新一下页面这些状态就销毁了(这是据说,请大神解惑我也没办法证实),如果是这样的话,我的用户状态user还是应该要写入sessionStorage,不然登录了的一刷新页面就变成没登录了,用户不就疯了啊。所以store里面的user状态应该要从sessionStorage里面去读。

2、在这个learn项目中现存的页面中,home,paroducts,FAQ,login,regin,应该是不需要登录就可以访问,而manger和manger以下的子页面是必须要登录才可以访问的。

3、比较特殊的是login和regin,如果用户已经登录了,再去访问这2个页面,原则上来说也是可以的,但如果已经登录了,再用其它账号来登录一次,那sessionStorage存在2个user数据,那就显然不合理了,所以应该规定,如果用户已经登录,又去访问login或者regin,那我们应先remove掉sessionStorage里面user数据

4、vuex规定所有状态的改变只能依靠mutation,而要驱动mutation去改变状态的只能是action。那在这个项目里登录状态变化只会有登录、注册和登出这三种情况,登录和注册成功的时候要去执行一个存在user的action,登出的时候去执行一个不存在user的action。

5、vuex官方还提了一个getter的玩意儿,我感觉应该是在我们需要取用store里面状态的时候,确切的说应该是取出这个状态之后,给这个状态做一些加工改变用的,而且应该只能getter一次吧,多了感觉要乱套啊(不知道这个想法对不对),但看见这样的写法this.$store.getters.doneTodosCount,感觉应该可以用不止一次把。估计我想得有点多了,目前看起来也用不上,也许要经历过需要的应用场景才能理解透彻把。

6、还有个module,这个就有点迷了,没太搞懂,先不管了

预想中store的登录状态还是要从sessionStorage来取的,所以我先把路由约束好,那些页面需要user,那些不需要,访问那些页面需要remove user

打开main.js

添加代码

这样写感觉怪怪的,不知道有没有简单点的写法?

不过想要的效果是能达到的

然后尝试写store

先写个基本结构

然后一步一步具体写

是说这需要一个function&#;

唉哟,不对,我蠢了,这是赋值(不知道说赋值准不准确)嘛,又不是写一个obj对象,不需要逗号的哈

store.js

我感觉应该就这样就可以了吧,还是要测试一下

不对还应该要把action挂到该挂的地方,然后该引用store状态的地方引用store的数据

先去登录页面挂action

应该是这样的,注册也是一样

然后是登出的页面

header.vue

同时我们就不在创建页面的时候从sessionStorage取数据了

详解Vuex管理登录状态(vue+axios登录)

还有一个main.js

要是不能在main.js里面生效还真是麻烦啊,试想一下,已登录用户直接去了/login页面,seeionStorage里面用户数据清除了,但store里面的数据又没更新,那在头部不是还挂一个头像啊&#;&#;&#;

还有一步获取store里面的数据

header.vue

还是赶紧测试一下吧

哭了.....直接四个错误

这我都是照着官方说的写的啊

把header.vue的数据注释掉,还有一个错误

但这个dispatch 是undefined 是啥意思啊,我是照着写的啊,大佬帮我解惑一下啊

把dispatch 改成context 也不行

改成commit 试一下

还是一样没脾气了,我再去看看资料吧

研究了好久解决了一部分问题

首先我把store.js,里面的action写成了这样

但我觉得原来的写法也没有错

然后在main.js里面注释掉了这句

然后就正常了,dispatch是正确的,所以我所担心的事果然发生了

先去登录

可以看见header右上方的确立刻变成了用户信息,达到了要求,然而我要是自己去地址栏输入/login

跳到了登录页面,但头像真的还挂在右上角........,说明store里面真的还是登录的数据,虽然仔细想想其实这并没有什么影响,他要是再一次登录成功,数据自然也就变了,而且一般没人会这么去访问登录页面,但心里觉得这样不对啊。

而且我觉得这个action的分发应该有办法写在main.js里面的,不知道有没有大神指点一二!

标签: vue+axios登录

本文链接地址:https://www.jiuchutong.com/biancheng/377374.html 转载请保留说明!

上一篇:Vue2 配置 Axios api 接口调用文件的方法(vue_api_server)

下一篇:vue 挂载路由到头部导航的方法(vue的挂载)

  • 个体工商户增值税优惠政策2023
  • 建筑发票开具与土增税扣有什么关系?
  • 公司研发人员定义
  • 小规模纳税人批发机动车
  • 增值税征税范围中销售应税服务包括什么服务
  • 土地交易服务费属于非税收入吗
  • 员工出差自驾怎么看待
  • 应付票据和应付债券
  • 委托加工物资需要计提存货跌价准备吗
  • 餐费补贴要交个人所得税吗
  • 电商存货周转率的正常范围
  • 连锁药店总部的首营资料
  • 非正常户发票管理
  • 土地出让交增值税多少
  • 低值易耗品残料有哪些
  • 公允价值确定方法最新
  • 垫资后转出的会计分录怎么写?
  • 税控减免税结转怎么操作
  • 年终奖可以分几次发吗?
  • 上个月有留抵税这个月怎么结转税金
  • 工资里税前扣款是什么意思
  • 小规模季报还没报改了一般纳税人
  • 电脑看电影开全屏画面会迟钝是什么原因
  • 电脑连接网线但没有网络
  • mac环境搭建
  • php面向对象优点,缺点
  • services. exe
  • mac怎么设置默认程序
  • 已删除好友的聊天记录
  • 企业收购特殊税种有哪些
  • 建筑安装发票可以外地开吗
  • 房地产企业利润
  • 企业购买银行理财
  • 马萨诸塞 下架
  • 分次预缴税额怎么算
  • 成本费用科目包括
  • 机器学习中的数学原理——过拟合、正则化与惩罚函数
  • web 自动化测试
  • 直接融资租赁案例
  • 什么是现金流量净额
  • 安装充电桩电费怎么收
  • 个人独资企业取名规则
  • 进项税额年末账务处理
  • 企业自建办公楼需要开发资质吗
  • 付员工经济补偿金的分录
  • 项目终止前期费用核销
  • 政府给的补偿款怎么做账
  • 维修费发票应必须开具吗
  • 工程结转成本分录
  • 应收应付抹零账务处理
  • 待摊费用要怎么做账
  • 软件开发公司账一定按项目做吗
  • 购买的银行理财产品能提前赎回吗
  • 内退文件2018
  • 划拨土地使用权管理暂行办法
  • 事业单位用电收费标准
  • 资产负债表月报的期初余额填什么
  • 结存成本会计分录
  • 公司买东西算什么费用
  • 残疾人就业保障金
  • SQL Server 2000 清理日志精品图文教程
  • sql查询速度慢如何优化
  • Windows7 64位环境下Python-igraph环境配置的方法
  • 在linux操作系统中,/etc/rc.d/init.d
  • centos锁定屏幕命令
  • be备份linux系统
  • WFXSVC.EXE - WFXSVC是什么进程
  • Linux Mint Cinnamon中安装MATE桌面详细步骤
  • windows8笔记本电脑
  • Win10输入法切换快捷键改不了
  • 安装win7旗舰版变了家庭版
  • win10事件查看器好多错误
  • linux 翻译
  • shell脚本入门详解
  • Jquery实现$.fn.extend和$.extend函数
  • javascript基础笔记
  • 税务工作秘密管理暂行办法
  • 国航的电子票号是什么
  • 发票校验码不清楚
  • 建立高效的法治实施体系,需要着力解决四个问题
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设