使用 vue2 + element-ui 登录的时候的逻辑
1. 自动校验表单逻辑
// 1. 自动表单验证
try {
// 这个形式自动表单验证麻烦
// this.$refs.loginForm.validate((valid)=>{ ... });
// 返回promise,如果失败则出错,程序不往下走
// await this.$refs.loginForm.validate();
} catch (error) {
return console.log(error);
}
2. 派发dispatch vuex 的 actions 执行异步请求获取token
3. 提交comutations 来保存 token
vuex 全局保存 token 借助 js-cookies 来做 token 的持久化 ;
可以节流按钮 loding
async handleLogin() {
// 1. 自动表单验证
try {
// 这个形式自动表单验证麻烦
// this.$refs.loginForm.validate((valid)=>{ ... });
// 返回promise,如果失败则出错,程序不往下走
await this.$refs.loginForm.validate();
} catch (error) {
return console.log(error);
}
// 登录中
/*******
* 节流阀
* 当返回数据的时候才会loading 为 true 登录按钮才可以被使用 否则一直处于加载状态
*/
this.loading = true;
// 派发获取 token 值
try {
// 2.发生登录请求
await this.$store.dispatch("user/loginAction", this.loginForm);
// 3.成功跳转页面
this.$router.push("/");
} catch (error) {
console.log("登录失败", error);
}
// 登录结束
this.loading = false;
},
使用 vue2 + element-ui 登录的时候的逻辑的更多相关文章
- element ui 登录验证,路由守卫
<template> <!-- el-form :label-position="labelPosition" 设置label的位置 :model 用来给表单设置 ...
- vue2.0 + Element UI + axios实现表格分页
注:本文分页组件用原生 html + css 实现,element-ui里有专门的分页组件可以不用自己写,详情见另一篇博客:https://www.cnblogs.com/zdd2017/p/1115 ...
- vue2.0 + element ui 实现表格穿梭框
element ui 官网里介绍了穿梭框(Transfer),但在实际使用过程中,会出现一些问题: 1.穿梭框里能放置的内容太少,不能满足复杂的业务需求. 2.当选项过多时,穿梭框很难实现分页,左右两 ...
- vue2.0+Element UI 表格前端分页和后端分页
之前写过一篇博客,当时对element ui框架还不太了解,分页组件用 html + css 自己写的,比较麻烦,而且只提到了后端分页 (见 https://www.cnblogs.com/zdd20 ...
- vue2.0+Element UI 实现动态表单(点击按钮增删一排输入框)
对于动态增减表单项,Element UI 官方文档表单那一节已经介绍得很清楚了,我之前没有看见,绕了很多弯路,这里针对点击按钮增删一排输入框的问题做一个总结. 效果图如下 存在一排必填的姓名与手机号, ...
- Vue3 + Element ui 后台管理系统
Vue3 + Element ui 后台管理系统 概述:这是一个用vue3.0和element搭建的后台管理系统界面. 项目git地址: https://github.com/whiskyma/vu ...
- [坑况]饿了么你是这样的前端——vue+element ui 【this dependency was not found:'element-ui/lib/theme-chalk/index.css'】
element ui 坑况:今日pull代码,潇洒npm run dev ,被告知:this dependency was not found:'element-ui/lib/theme-chalk/ ...
- Vue + Element UI项目初始化
1.安装相关组件 1.1安装Node 检查本地是否安装node node -v 如果没有安装,从Node官网下载 1.2安装npm npm -v 如果没有安装:使用该指令安装: npm install ...
- 分享一个自搭的框架,使用Spring boot+Vue+Element UI
废弃,新的:https://www.cnblogs.com/hackyo/p/10453243.html 特点:前后端分离,可遵循restful 框架:后端使用Spring boot,整合了aop.a ...
- Vue(十八)Element UI
Elment UI 1. 简介 Element UI是饿了么团队提供的一套基于Vue2.0的组件库,可以快速搭建网站,提高开发效率 ElementUI PC端 MintUI 移动端 [官网](http ...
随机推荐
- pytorch报错:Variable._execution_engine.run_backward( # Calls into the C++ engine to run the backward pass RuntimeError: FIND was unable to find an engine to execute this computatio
GPU模式下运行pytorch代码报错,pytorch为2.2.1,NVIDIA驱动版本535.161.07 File "/home/devil/anaconda3/envs/sample- ...
- ( Ubuntu环境下 ) Vim插件管理器 Vundle 的安装
为vim安装插件的时候一般会选择先安装一个插件管理器, 一般有 Pathogen和Vundle 比较常用,同时也有比较轻量级的 Vim插件管理神器vim-plug . 1. 下载 Vim插 ...
- 【转载】 机器学习的高维数据可视化技术(t-SNE 介绍) 外文博客原文:How t-SNE works and Dimensionality Reduction
原文地址: https://www.displayr.com/using-t-sne-to-visualize-data-before-prediction/ 该文是网上传的比较多的一个 t-SNE ...
- baselines算法库common/wrapper.py模块分析
common/wrapper.py模块: import gym class TimeLimit(gym.Wrapper): def __init__(self, env, max_episode_st ...
- 树莓派命令行配置wifi密码时如何实现密码加密(密文,非明文)
首先需要知道,树莓派系统(原生系统)的wifi配置文件为: /etc/wpa_supplicant/wpa_supplicant.conf 配置该文件时,psk属性为密码,往往我们都是使用明文来进行配 ...
- matplotlab刻度线设置——如何在画布的上下左右四条边框上绘制刻度线
我们平时使用matplotlib绘图时一般默认的刻度只在画布的右侧和下侧出现,但是在网上看到其他人的绘图往往都是上下左右四个边框线均有刻度,这是如何实现的呢,今天就给出一种设置画布上下左右四条边框刻度 ...
- .NET周刊【8月第1期 2024-08-04】
国内文章 EF Core性能优化技巧 https://www.cnblogs.com/baibaomen-org/p/18338447 这篇文章介绍了在代码层面上优化EF Core实例池和拆分查询的方 ...
- 【牛客刷题】HJ5 进制转换
题目链接 基本上能用最简单代码实现的,就不要考虑的太复杂: package main import "fmt" func main() { a := 0 fmt.Scanf(&qu ...
- 手把手教Linux驱动4-进程、文件描述符、file、inode关系详解
本文目标 什么是文件描述符? 进程打开文件相关信息管理 Linux设备文件三大结构:inode,file,file_operations mknod 做了什么事? 进程打开设备文件 驱动如何支持同类型 ...
- Blazor开发框架Known-V2.0.8
V2.0.8 Known是基于Blazor的企业级快速开发框架,低代码,跨平台,开箱即用,一处代码,多处运行.目前已有部分客户在使用,最近客户的项目和产品,有的在Docker中运行,有的在重新升级改造 ...