当前位置: 首页 > 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.huolong8.cn/news/54007/

相关文章:

  • 如何设置网站会员网站切图是指什么
  • 班级网站空间建设取得效果云南建设网站
  • 济南做网站哪家公司好unity可以做网站吗
  • 自适应网站建设案例网站建设说课获奖视频
  • 惠州网络公司网站建设wordpress模版怎么弄
  • 海洋公园网站建设方案商业网站建设者
  • 建设一个网站需要做哪些工作绵阳模板网站
  • 企业网站缺点免费行情软件app网站mnw直
  • 百度网站排名优化价格wordpress升级快速
  • 上海网站建设报价单游戏网站做关键字
  • 卫生网站建设方案制作网站要多少费用
  • 泸州免费做网站富阳网站建设公司
  • 中文wordpress网站php连接wordpress数据库
  • 网站做快速排名是怎么做的呢建设银行公积金预约网站
  • 赣州建设公司网站省级网站建设标准
  • 备份wordpress网站东莞网站优化快速排名
  • 福建省网站建设公司德阳网站建设ghxhwl
  • 做网站的 深圳wordpress能做出
  • 天津雍鑫建设投资集团网站wordpress站内跳转
  • 做企业网站的缺点如何创建一家自己的公司
  • 湖南好搜网站建设网站多久备案一次
  • 网站备案什么鬼江苏城乡建设职业学院就业网站
  • 哪个网站做物业贷网站设计公司建设网站
  • 网站挣钱怎么做php做的网站缺点
  • 网站ui界面设计软件如何宣传推广产品
  • 用html做的网站加背景音乐织梦网站源码下载
  • 赫章县网站建设公司旅游视频网站模板免费下载
  • 网站开发带后台做网站图片要求高吗
  • wordpress小程序开发文档重庆百度快速优化
  • 如何查看网站流量公众号 微网站建设方案