vue-element-admin中 vuex 的使用

vue-element-admin 中 vuex 是模块化的。

登录流程

1,HTTP 配置(utils/request.js)
2,API 配置(api/user.js)
import request from '@/utils/request'export function login(username, password) {return request({url: '/api-auth/oauth/user/token',headers: {'client_id': 'jeecp','client_secret': 'webApp'},method: 'post',data: { 'username': username, 'password': password }})
}
3,vuex 中的 user 模块 (store/modules/user.js)

在store/modules中创建一个自己的 store (user.js) 模块,并在其中书写自己的state/mutation/action

import { login } from '@/api/user'
import { getToken } from '@/utils/auth'const getDefaultState = () => {return {token: getToken()}
}
// 相当于Vue的data
const state = getDefaultState()const mutations = {SET_TOKEN: (state, token) => {state.token = token}
}const actions = {// user loginlogin({ commit }, userInfo) {const { username, password } = userInforeturn new Promise((resolve, reject) => {login(username.trim(), password).then(response => {const { data } = responsecommit('SET_TOKEN', data.access_token)setToken(data.access_token)resolve()}).catch(error => {reject(error)})})}
}export default {namespaced: true,state,mutations,actions
}
4,获取全部的全局变量(store/getters.js)
// 相当于把全部的 全局变量 归结到了一起
const getters = {token: state => state.user.token
}
export default getters
5,注册vuex 注册 user 模块
import Vue from 'vue'
import Vuex from 'vuex'
import getters from './getters'
import user from './modules/user'Vue.use(Vuex)const store = new Vuex.Store({modules: {user},getters
})export default store
6,在页面中使用
// 变量
this.$store.state.user.token
// 获取 store/getters.js 里面的值
this.$store.getters.token// 方法
// 通过 this.$store.dispatch() 访问到 对应 user 模块中的 actions 中的 login 方法
this.$store.dispatch('user/login', this.loginForm).then(() => {console.log('success')
}).catch(() => {console.log('err')
})// 修改
this.$store.commit('SET_TOKEN', '这里是 token 的值')

参考

  • https://www.cnblogs.com/ycc1/p/vuex01.html
  • https://blog.csdn.net/wangle_style/article/details/90287742

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354270.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

javafx2_JavaFX 2 GameTutorial第4部分

javafx2介绍 这是与JavaFX 2游戏教程相关的六个部分系列的第四部分。 如果您错过了第1部分 , 第2部分或第3部分 ,我建议您在开始本教程之前仔细阅读它们。 回顾一下,在第3部分中,我为您提供了许多经典街机风格游戏以及所使用的不同…

mysql 实体类_Mysql生成实体类

-- 查询数据表结构SELECTCONCAT(‘"e.‘,SUBSTRING(COLUMN_NAME,1),‘,"‘),COLUMN_NAME,‘,‘,COLUMN_TYPE,column_commentFROMINFORMATION_SCHEMA.COLUMNSWHERE table_schema ‘xcb‘and table_name ‘t_product‘;-- 生成Java实体类SELECTCONCAT(‘Column(name&…

vue 兄弟组件之间的传值

1. 定义一个公共的bus.js //bus.js import Vue from vue export default new Vue()2. 在子组件A里用$emit发射数据 <script> // 引入公共的bug&#xff0c;来做为中间传达的工具 import Bus from ./bus.js export default {methods: {details(data) {//发射组件A的数据…

Java 8:声明接口中的私有方法和受保护的方法

引入Java 8时&#xff0c;我们可以在接口中使用默认方法。 此功能的主要驱动程序是允许扩展接口&#xff0c;同时保留对旧接口版本的向后兼容性。 一个示例是在现有Collection类中引入stream()方法。 有时&#xff0c;当我们想引入几种默认方法时&#xff0c;它们可能共享一些…

sysbench 1.0.6 mysql_Sysbench 测试mysql数据库性能(version:sysbench-1.1.0)

继上面安装完Mysql rpm 安装之后需要用sysbench对数据库进行性能测试&#xff1a;下载git clone https://github.com/akopytov/sysbench.git或者直接去github下载&#xff1a;https://github.com/akopytov/sysbench安装前准备除了上面Mysql rpm 安装提到的需要安装的四个rpm&am…

elementUI vxe-table结合使用(通用表格)

App.vue 样式 .my-main{margin: 20px; } .dfc{display: flex;flex-direction: column; } .dfr{display: flex;flex-direction: row; } .f1{flex: 1; } .fl{float: left; } .fr{float: right; } .baseColor{background-color:RGB(48,65,86);color:#fff; }父组件 <!-- --&g…

vue.config.js 配置

// 去除 console const UglifyJsPlugin require(uglifyjs-webpack-plugin) // const path require(path); 别名配置 // 图形化打包详情 const BundleAnalyzer require(webpack-bundle-analyzer).BundleAnalyzerPluginmodule.exports {publicPath: process.env.NODE_ENV p…

mysql主从维护_mysql主从日常管理维护

mysql主从日常管理维护1)查看从服务器状态为了防止复制过程中出现故障从而导致复制进程停止&#xff0c;我们需要经常检查从服务器的复制状态。一般使用show slave status命令来检查。例如&#xff1a;mysql> show slave status \G;*************************** 1. row ****…

JLBH示例2 –协调遗漏的会计处理

在这篇文章中&#xff1a; 在运行JLBH时考虑或不考虑协调遗漏 一个示例&#xff0c;以数字说明协同遗漏的效果 关于流量控制的讨论 这是我用来描述如果不考虑协调遗漏而进行测量的情况下的示例&#xff1a; 假设您正在等待火车&#xff0c;但由于前面的火车晚了&#xff0…

基于windows平台的命令行软件安装工具Chocolatey的安装

本文介绍Chocolatey的安装和使用 Chocolatey 这是基于.NET Framework 4以上的windows安装软件的命令行工具安装 第一步&#xff0c;打开你的powershell.exe&#xff0c;使用管理员方式运行 第二步&#xff0c;运行命令 Get-ExecutionPolicy如果返回 Restricted &#xff0c;那么…

vue项目 乐橙云 轻应用直播SDK imouplayer.js

官网案例&#xff1a;https://open.imoulife.com/book/light/sdk.html 文档&#xff1a; https://open.imou.com/developDoc/31 1&#xff0c;下载 对应的资源 https://open.imoulife.com/book/readme/upload.html 2&#xff0c;引入资源 2.1 把下载的资源(static&#xff0c…

windows 开启mysql日志记录_windows下mysql日志开启与查询

修改 my.ini文件加入以下语句(在没有设置的前提下)log-errord:/log/mysql/mysql_log_err.txtlogd:/log/mysql/mysql_log.txt#log-bind:/log/mysql/mysql_log_binlog-slow-queries d:/log/mysql/mysql_log_slow.txt使用以下命令查看是否启用了日志mysql>show variables like …

jmx 复用 jmx_JMX:一些入门说明

jmx 复用 jmxJMX&#xff08;Java管理扩展&#xff09;是一种J2SE技术&#xff0c;可以管理和监视Java应用程序。 基本思想是实现一组管理对象&#xff0c;并将实现注册到平台服务器&#xff0c;在平台服务器上&#xff0c;可以使用一组连接器或适配器从本地或远程调用这些实现…

内置函数——filter和map

filter filter()函数接收一个函数 f 和一个list&#xff0c;这个函数 f 的作用是对每个元素进行判断&#xff0c;返回 True或 False &#xff0c; filter()根据判断结果自动过滤掉不符合条件的元素&#xff0c;返回由符合条件元素组成的新list。 它的到的结果是一个迭代器 例…

git 上下载的项目在本地安装依赖时报错 Could not resolve dependency

安装依赖时报错&#xff1a;无法安装依赖 看报错里面的提示&#xff1a;this command with --force, or --legacy-peer-deps –force 会无视冲突&#xff0c;并强制获取远端npm库资源&#xff0c;即使本地有资源也会覆盖掉&#xff1b;–legacy-peer-deps&#xff1a;安装时…

JavaFX技巧23:节省内存! 属性的阴影场

Java 8中引入的属性和属性绑定是非常有用的编程概念。 当您开发用户界面时&#xff0c;它们特别有用。 实际上&#xff0c;它们是如此有用&#xff0c;以至于开发人员成为所有事物都应该是属性而不是原始属性的想法的受害者。 不幸的是&#xff0c;他们很容易忘记&#xff0c;诸…

mysql udb_MySQL InnoDB的一些参数说明

参考:http://addls.com/mysql-innodb-%E4%B9%8B-ibdata1-%E7%98%A6%E8%BA%AB%E5%A4%A7%E6%B3%95.html# 备份数据库&#xff1a;/usr/local/mysql/bin/mysqldump -uDBuser -pPassword –quick –force –routines –add-drop-database –all-databases –add-drop-table > /d…

python_fullstack基础(十一)-常用模块

python常用模块 re模块 一、正则表达式 在线测试工具 http://tool.chinaz.com/regex/ 1、字符组 &#xff1a; [字符组] 在同一个位置可能出现的各种字符组成了一个字符组&#xff0c;在正则表达式中用[]表示 字符分为很多类&#xff0c;比如数字、字母、标点等等。 假如你现在…

npm 安装依赖遇到的问题

npm npm的服务器位于国外可能会影响安装 cnpm 淘宝团队做的国内镜像 // 安装 cnpm npm install cnpm -g --registryhttps://registry.npm.taobao.org // 查看版本 cnpm -v // 查 npm 的源 npm config get registry一、cnpm -v 在 cmd 中能识别&#xff0c;但是 VsCode 无法识别…

使用RichTextBox控件实现系统剪切板功能

复制&#xff1a; 1 private void CopytoolStripMenuItem_Click(object sender, EventArgs e) 2 {//复制 3 try 4 { 5 this.Cursor Cursors.WaitCursor; 6 string strTemp richTextBoxSendInfo.SelectedT…