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

快速了解Vuex

Vuex

  • Vuex
  • 使用Vuex

Vuex

📌vuex 是一个专为 Vue.js 应用程序开发的状态管理库
📌vuex 可以在多个组件之间共享数据,并且共享的数据是响应式的,即数据的变更能及时渲染到模板
📌vuex 采用集中式存储管理所有组件的状态(将公用的数据提取出来集中存储)

进行安装
npm install vuex@next --save

state:状态对象,集中定义各个组件共享的数据
mutations:类似一个事件,用于修改共享数据,要求必须是同步函数
actions:类似于mutation,可以包含异步操作,通过调用mutation来改变共享数据


使用Vuex

使用需要创建带有vuex功能的脚手架工程
创建好之后就是一个基础的index.js文件

import Vue from 'vue'
import Vuex from 'vuex'Vue.use(Vuex)export default new Vuex.Store({state: {},getters: {},mutations: {},actions: {},modules: {}
})

如何定义共享数据:

  state: {name: '你好'},

这样在我们的页面中就会展示出定义的共享数据
如何展示呢

<div id="app">{{$store.state.name}}
</div>

如何修改共享数据

mutations:{setName(state,Newname){state.name=Newname}
}

那么如何修改,修改需要通过事件调用函数进行改变

methods: {handleUpdate(){//第一个参数是对应的函数名称,第二个是参数this.$store.commit('setName','我好')}
}
  • 如果要进行异步操作

数据不是我们指定的,需要axios请求后端
就像初始界面,我们登录进去会显示谁谁谁你好,这个数据就是后端提供的
需要在actions中进行定义方法

  mutations: {},actions: {setNameaxios(context){axios({url: '/login',method: 'post',data: {username: 'hlh',password: '123456'}}).then(res=>{if(res.data.code==1){context.commit('setName',res.data.data.name)}})}},

其中的context是一个上下文对象,通过它可以调用store中的上下文
同样也需要监听函数进行调用调用actions中定义的函数

methods: {handleUpdate2(){//第一个参数是对应的函数名称,第二个是参数this.$store.dispatch('setNameaxios')}
}

附录:注意
发送请求就涉及到了跨域问题,在前端代码中我们可以在vue.config.js文件中配置代理

  devServer:{port: 8081,proxy:{'/login':{target:'http://localhost:8080'}}}
http://www.lryc.cn/news/344384.html

相关文章:

  • vue管理系统导航中添加新的iconfont的图标
  • Docker的介绍及与传统虚拟化技术的区别
  • 06.Git远程仓库
  • Anaconda安装和深度学习环境的安装(TensorFlow、Pytorch)
  • 元素设置 flex:1,但是会被内部长单词宽度超出拉伸
  • win11 安装oracle11g详细流程及问题总结
  • 自我模拟面试
  • 头歌java面向对象基础
  • PMP课程知识点很多,无法入手,该如何学习?
  • 隔离流量优化网络传输
  • 【前端热门框架【vue框架】】——事件处理与表单输入绑定以及学习技巧,让学习如此简单
  • 芒果YOLOv8改进164:检测头篇:ImplicitHead 隐性知识检测头| 即插即用,独家新颖更新,精度高效涨点
  • 学习周报:文献阅读+Fluent案例+有限体积法理论学习
  • 用户中心(下)
  • 商务分析方法与工具(六):Python的趣味快捷-字符串巧妙破解密码本、身份证号码、词云图问题
  • ftp方式和http方式搭建云仓库
  • vue2 + antvx6 实现流程图功能
  • IDEA 中的奇技淫巧
  • LSTM-KDE的长短期记忆神经网络结合核密度估计多变量回归区间预测(Matlab)
  • CMakeLists.txt语法规则:部分常用命令说明三
  • android init进程启动流程
  • 利用爬虫解决数据采集难题
  • 智慧粮库/粮仓视频监管系统:AI视频智能监测保障储粮安全
  • 经验浅谈!伦敦银如何交易?
  • 信息系统项目管理师(高项)_习题杂记
  • CMakeLists.txt 简单的语法介绍
  • AI时代:人工智能大模型引领科技创造新时代
  • 为什么 IP 地址通常以 192.168 开头?(精简版)
  • 【HEC】HECRAS中的降雨边界
  • 搜索算法系列之三(插值查找)