




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第10章vuex状态管理器
什么是vuexVuex是一个专为Vue应用程序开发的状态(数据)管理模式。它采用集中式存储管理应用的所有组件的状态(数据)。每一个Vuex应用的核心就是store(仓库),即响应式容器,它用来定义应用中数据以及数据处理工具。Vuex的状态存储是响应式的,当store中数据状态发生变化,那么页面中的store数据也发生相应变化。改变store中的状态的唯一途径就是显式地提交mutation,这样可以方便地跟踪每一个状态的变化。Vuex的下载和安装(1)下载vuex.js登录下载地址/zh/installation.html,下载vuex.js存放在项目js文件夹之下。(2)引入在HTML页面先引入Vue.js,后接着引入Vuex.js。<script
src="js/vue.js"></script><script
src="js/vuex.js"></script>在Vue.js之后引入vuex.js,vuex.js会进行自动安装。Vuex基本使用(1)创建store实例通过new关键字实例化一个store实例,该实例是单一的状态树(数据仓库)。创建store实例语法:newVuex.store({state:{},//状态,组件中需要共享使用的数据mutations:{},//改变状态的唯一方式就是提交mutation,同步改变状态 getters:{},//类似计算属性actions:{}//用于异步更新状态})(2)将store实例注入到Vue根实例上
var
vm
=
new
Vue({
el:
'#app',
store,
});
通过在根实例中注册store选项,该store实例会注入到根组件下的所有子组件中,且子组件能通过this.$store访问到store中的数据。
Vuex配置选项1、state配置选项Vuex的状态存储是响应式,即store中的状态是响应式的,在组件调用store中的状态时仅需要在计算属性中返回即可。通过“this.$store.state.key(字段名)”访问到store中数据mapState辅助函数:当一个组件需要获取多个状态时,将这些状态都声明为计算属性有些麻烦,这时候可以使用mapState辅助函数来生成计算属性。(1)数组写法:…mapState([‘字段key’])例如:
...mapState(["name","gender","age"])(2)对象写法:…mapState({自定名1:‘字段key’,……})例如:
...mapState({
xm:
"name",
xb:"gender",
nl:
"age"})在一个模块化的打包系统中通过import{mapState}from“vuex”引入Vuex配置选项2、
getters配置选项有时候在数据使用前,需要进行一些处理,即从store中派生出一些状态(数据),Vuex在
store中定义“getter”选项(可以认为是store的计算属性),来派生出一些状态。在组件中使用getters,通过“this.$store.getters.函数名”直接获取,也可以通过辅助函数mapGetters。数组写法:…mapgetteers([‘函数名’])对象写法:…mapgetteers({key:‘函数名’})Vuex配置选项3、mutations配置选项需要修改store(仓库)中的数据,唯一途径就是显式地mommit提交mutation,mutation必须是同步函数。mutations:{
函数名(state,payload){ //修改state的中的数据}在组件中提交Mutation方式:(1)this.$mit()提交this.$mit(‘函数名’,参数对象)(2)辅助函数mapMutations数组写法:…mapMutations([‘函数名’])对象写法:…mapMutations({key:’函数名’})Vuex配置选项4、
actions配置选项Action是异步修改state的数据。异步修改state也需要提交一个mutation,才能达到修改的目的。actions:{
函数名({commit},paload){ commit(‘mutation中的函数名’)}}在组件中分发Action方式:(1)在组件中使用
this.$store.dispatch()
分发actionthis.$store.dispatch(‘函数名’,参数对象)或使用包含type属性的对象this.$store.dispatch({type:’函数名’,key
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 房地产开发合作协议合同
- 三农田改造方案设计指南
- 建筑木工分包合同
- 上海声屏障施工方案
- 防水安全生产施工方案
- pvc地板胶施工方案
- 焖渣坑施工方案
- 余姚耐磨地坪施工方案
- 自建房水泥栏杆施工方案
- 青岛市eps线条施工方案
- 2024-2025学年第二学期天域全国名校协作体高三3月联考 语文试卷(含答案)
- 2025年中考百日誓师活动教师代表发言(三)
- 中国家用通风电器具制造行业分析报告
- 生物-天一大联考2025届高三四省联考(陕晋青宁)试题和解析
- 天津2025年天津市住房公积金管理中心招聘9人笔试历年参考题库附带答案详解-1
- 区间价格突破策略(TB版)
- 高中主题班会 远离背后“蛐蛐”课件-高二下学期人际交往主题班会
- DeepSeek科普课件深度解析
- 大模型应用服务平台建设研究
- 2025年度智慧养老服务平台开发与运营服务合同
- 2025年湖南科技职业学院高职单招语文2018-2024历年参考题库频考点含答案解析
评论
0/150
提交评论