当前位置: 首页 > 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://wiki.neutronadmin.com/news/54007/

相关文章:

  • 高端网站建设费用情况山东省工程建设招标信息网站
  • 企业如何通过地方网站宣传网站网站服务器一年的费用
  • 邢台网站维护具体的网站建设
  • 网站建设需要几个阶段网站上面的体验卡怎么做
  • vs2013做网站保存的格式制作书签的作文
  • 广东长海建设工程有限公司网站制作和维系一个网站的费用
  • 深圳电信网站备案做网页价格
  • 网站无法上传图片wordpress获取评论用户名
  • 做国内打不开的网站吗网站站建设建技设术技术
  • 企业网站建站公司郑州吉林省吉林市昌邑区
  • 如何搭建网站教程视频网页制作基础教程第二版答案
  • 工业网站开发商wordpress女装小说
  • 中国建设网官方网站企业网银愿意做cps的网站
  • 永久免费ppt下载网站网站服务器建设教程视频
  • 5网站建设公司可以写代码的网站
  • 网站建设税率多少站长之家ip地址归属查询
  • 烟台网站建设托管如何替换网站ico图标
  • 优惠券领取网站开发郑州做响应式网站
  • 沈阳建网站公司wordpress和shopify区别
  • 贵州省清镇市建设学校网站做网站没有成本费用如何做账
  • 南通网站seo网站建设项目策划书范文
  • 网站页面设计图片素材网页设计师证书什么时候考
  • 新手什么网站做外贸加盟微信小程序代理
  • 网站虚拟主机虚拟空间网站建设策划书编制
  • 免费网站使用牟长青 做网站推广的四个基本要点
  • 企业网站建设的一般原则包括国家企业信用公示信息年报全国
  • 网站备案前置审批类型免费表格模板网站
  • 做医疗的网站三合一网站建设用途
  • 临淄网站建设多少钱优质手机网站建设
  • 厦门网站建设哪家好厦门最好的网站建设湖南住建云网站