当前位置: 首页 > news >正文

公司网站建设南宁腾讯企业邮箱登录入口手机版

公司网站建设南宁,腾讯企业邮箱登录入口手机版,网站批量查询,wordpress缩略图和文章摘要VueX 是一个专门为 Vue.js 应用设计的状态管理构架#xff0c;统一管理和维护各个vue组件的可变化状态(你可以理解成 vue 组件里的某些 data )。 Vuex有五个核心概念#xff1a; state, getters, mutations, actions, modules。 1. state#xff1a; vuex的基本数据统一管理和维护各个vue组件的可变化状态(你可以理解成 vue 组件里的某些 data )。 Vuex有五个核心概念 state, getters, mutations, actions, modules。 1. state vuex的基本数据用来存储变量 2. geeter 从基本数据(state)派生的数据相当于state的计算属性 3. mutation 提交更新数据的方法必须是同步的(如果需要异步使用action)。每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 回调函数 (handler)。 回调函数就是我们实际进行状态更改的地方并且它会接受 state 作为第一个参数提交载荷作为第二个参数。 commit同步操作写法this.$store.commit(mutations方法名,值) 如this.$store.commit(SET_PASSWORD,data.Password) 4. action 和mutation的功能大致相同不同之处在于 》1. Action 提交的是 mutation而不是直接变更状态。 2. Action 可以包含任意异步操作。 dispatch异步操作写法this.$store.dispatch(actions方法名,值) 如this.$store.dispatch(login,res.data) 5. modules 模块化vuex可以让每一个模块拥有自己的state、mutation、action、getters,使得结构非常清晰方便管理。 Vuex的用法 文件夹步骤及引入与挂载 在vue项目的src文件下创建store文件夹如果已经安装好了vuex的话然后在store文件夹中创建index.js和getters.js文件与Modules文件夹 在项目的main.js中引入 和挂载 import store from ./store let vue new Vue({ router, store, render: (h) h(App), }).$mount(#app); store文件下的index.js //store文件下的index.js import Vue from vue import Vuex from vuex import getters from ./getters import bankCard from ./Modules/bankCard import user from ./Modules/userVue.use(Vuex)export default new Vuex.Store({getters,modules: {bankCard,user} }) store文件下的getters.js //store文件下的getters.js const getters {bankCards: state state.bankCard.bankCards,selectBankCards: state state.bankCard.selectBankCards,token: state state.user.token } export default getters在modules文件夹下创建一个user.js文件user.js内容 import { setToken, removeToken } from /utils/auth import { getLogin } from /api/loginconst user {state: {name: ,roles: [],permissions: [],token: undefined,// Password:,},mutations: {/*commit同步操作写法this.$store.commit(mutations方法名,值)如this.$store.commit(SET_PASSWORD,data.Password)*/SET_TOKEN: (state, token) {state.token token},SET_ROLES: (state, roles) {state.roles roles},SET_PERMISSIONS: (state, permissions) {state.permissions permissions},// SET_PASSWORD:(state,Password){// state.PasswordPassword// }},actions: {/*dispatch异步操作写法this.$store.dispatch(actions方法名,值)如this.$store.dispatch(login,res.data)*/// 登录Login({ commit }, userInfo) {return new Promise((resolve) {const { email, password } userInfogetLogin({ email, password }).then(res {const analysis JSON.parse(atob(res.data.split(.)[1]))setToken(token, res.data)setToken(userId, analysis.userId)setToken(email, email)setToken(password, password)commit(SET_TOKEN, res.data)setToken(Admin-Token, res.data) resolve()})})},// 获取用户信息GetInfo({ commit }) {return new Promise((resolve) {commit(SET_PERMISSIONS, [1])commit(SET_ROLES, [ROLE_DEFAULT])resolve()// getInfo({token: sessionStorage.getItem(JWT)})// .then(result {// const res result.data;// const userName res.userName;// if (res.permissionCodeList // res.permissionCodeList.length 0) // { // 验证返回的roles是否是一个非空数组// commit(SET_PERMISSIONS, res.permissionCodeList);// } else {// commit(SET_ROLES, [ROLE_DEFAULT]);// }// commit(SET_NAME, userName);// resolve(res);// }).catch(error {// reject(error);// });})},// 退出系统// LogOut({ commit, state }) {// return new Promise((resolve, reject) {// logout(state.token).then(() {// commit(SET_TOKEN, )// commit(SET_ROLES, [])// commit(SET_PERMISSIONS, [])// removeToken()// resolve()// }).catch(error {// reject(error)// })// })// },// 前端 登出FedLogOut({ commit }) {return new Promise(resolve {commit(SET_TOKEN, )removeToken(Admin-Token)removeToken(token)removeToken(password)removeToken(email)removeToken(userId)resolve()})}} }export default user另安装js-cookie : 1、方式一在你的工程项目中使用npm进行安装 npm install js-cookie --save 2、方式二直接使用cdn资源 script srchttps://cdn.jsdelivr.net/npm/js-cookie2/src/js.cookie.min.js /script 3、方式三本地下载js-cookie的文件然后进行项目script标签引入 script src/path/to/js.cookie.js/script src 文件夹下utils文件夹下auth.js内容 //直接抛出使用的时候直接引入 //如import { setToken, removeToken } from /utils/auth import Cookies from js-cookie// 60秒 * 60分钟 * 24小时 function expires(seconds 60 * 60 * 24) {return new Date(new Date() * 1 seconds * 1000) }export function getToken(TokenKey) {return Cookies.get(TokenKey) }export function setToken(TokenKey, token, seconds) {return Cookies.set(TokenKey, token, { expires: expires(seconds) }) }export function removeToken(TokenKey) {return Cookies.remove(TokenKey) }使用 //点击登录 getLogin(){this.$store.dispatch(Login, {email: this.data.Email, password: this.data.Password }).then(() {this.$router.push({ path: this.redirect || /Home }).catch(() {})})}, //点击退出 logOut(){this.$store.dispatch(FedLogOut)this.$router.push({path:/})},使用下面这两种方法存储数据 commit同步操作写法this.$store.commit(mutations方法名,值) 如this.$store.commit(SET_PASSWORD,data.Password) dispatch异步操作写法this.$store.dispatch(actions方法名,值) 如this.$store.dispatch(login,res.data)
http://www.pierceye.com/news/268422/

相关文章:

  • 简历网站推荐做网站公司是干什么的
  • 网站备案率是什么会展相关app和网站的建设情况
  • 南京网站设计网站建设上海网站域名备案处
  • 做网站市场分析三视觉平面设计网
  • 网站建设中++模板企业网站部署计划
  • 房产部门成立网站wordpress站内搜索次数
  • 网站建设合同管辖地广州敏城建设工程有限公司网站
  • 班级网站主页设计模板购买网站域名空间
  • 做响应式网站最大宽度景观设计公司起名
  • 有小广告的网站适合40岁女人的培训班
  • html5网站建设有什么网站用名字做图片
  • 合肥珍岛公司做网站推广怎么样关键词排名优化如何
  • 做讲课ppt的网站郑州市建设局官方网站
  • 邢台集团网站建设报价免费推广网站有哪些
  • 龙华网站建设营销推广广东东莞区号
  • 徐汇网站开发培训企业建网站报价
  • 专业网站建设公司兴田德润信任高建设高端网站公司哪家好
  • 烟台网站建设优惠臻动传媒做网站怎么挣钱
  • 重庆网站建设mlfartwordpress4 中文
  • 永州建设企业网站阿里云 网站部署
  • 学校做网站难吗创新logo设计
  • 国内用python做的网站如何做网站讯息
  • 的网站开发工具有哪些免费制作永久企业网站
  • 网站举报查询一个网站开发的权限
  • 简约网站程序海南网络广播电视台少儿频道
  • 深圳高端品牌网站设计wordpress 树形主题
  • 怎么自己创建一个网站国外企业网络研究
  • 去百度建网站北京企业网站设计公司
  • mysql 收费 网站建设wordpress主题后台不显示
  • 网站cname解析陕西住房建设厅考试官方网站