博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Vuex状态管理
阅读量:4965 次
发布时间:2019-06-12

本文共 2410 字,大约阅读时间需要 8 分钟。

Vuex 是一个专为 Vue.js 设计的状态管理模式vuex解决了组件之间同一状态的共享问题。当我们的应用遇到多个组件共享状态时,会需要:多个组件依赖于同一状态。传参的方法对于多层嵌套的组件将会非常繁琐,并且对于兄弟组件间的状态传递无能为力。这需要你去学习下,vue编码中多个组件之间的通讯的做法。来自不同组件的行为需要变更同一状态。我们经常会采用父子组件直接引用或者通过事件来变更和同步状态的多份拷贝。以上的这些模式非常脆弱,通常会导致无法维护的代码。来自官网的一句话:Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态。这里的关键在于集中式存储管理。这意味着本来需要共享状态的更新是需要组件之间通讯的,而现在有了vuex,就组件就都和store通讯了。问题就自然解决了。这就是为什么官网再次会提到Vuex构建大型应用的价值。如果您不打算开发大型单页应用,使用 Vuex 可能是繁琐冗余的。确实是如此——如果您的应用够简单,您最好不要使用 Vuex。Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式    1.vuex解决了组件之间同一状态的共享问题  (解决了不同组件之间的数据共享)    2.组件里面数据的持久化。                小项目不部建议用vuex   vuex的使用:    1、src目录下面新建一个vuex的文件夹    2、vuex 文件夹里面新建一个store.js    3、安装vuex          cnpm install vuex --save    4、在刚才创建的store.js引入vue  引入vuex 并且use vuex        import Vue from 'vue'        import Vuex from 'vuex'        Vue.use(Vuex)            5、定义数据            /*1.state在vuex中用于存储数据*/            var state={                count:1            }       6、定义方法     mutations里面放的是方法,方法主要用于改变state里面的数据        var mutations={            incCount(){            ++state.count;            }        }    暴露        const store = new Vuex.Store({            state,            mutations        })                export default store;组建里面使用vuex:        1.引入 store             import store from '../vuex/store.js';        2、注册             export default{                data(){                    return {                                      msg:'我是一个home组件',                    value1: null,                                         }                },                store,                methods:{                    incCount(){                                          this.$store.commit('incCount');   /*触发 state里面的数据*/                    }                }                }        3、获取state里面的数据              this.$store.state.数据        4、触发 mutations 改变 state里面的数据                        this.$store.commit('incCount');

vuex/store.js

import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex);/*1.state在vuex中用于存储数据*/var state={    count:1}/*2.mutations里面放的是方法,方法主要用于改变state里面的数据*/var mutations={    incCount(){        ++state.count;    }}//vuex  实例化 Vuex.storeconst store = new Vuex.Store({    state,    mutations})export default store;

 

转载于:https://www.cnblogs.com/loaderman/p/11058564.html

你可能感兴趣的文章
Java基础常见英语词汇
查看>>
iOS并发编程笔记【转】
查看>>
08号团队-团队任务5:项目总结会
查看>>
SQL2005 删除空白行null
查看>>
mysql备份与恢复
查看>>
混沌分形之迭代函数系统(IFS)
查看>>
边框圆角Css
查看>>
使用Busybox制作根文件系统
查看>>
jpg图片在IE6、IE7和IE8下不显示解决办法
查看>>
delphi之模糊找图
查看>>
Javascript模块化编程的写法
查看>>
oracle 使用job定时自动重置sequence
查看>>
在项目中加入其他样式
查看>>
OMAPL138学习----DSPLINK DEMO解析之SCALE
查看>>
restframework CBV试图的4种方式
查看>>
大图居中,以1920px为例
查看>>
[C陷阱和缺陷] 第7章 可移植性缺陷
查看>>
linux中configure文件默认执行结果所在位置
查看>>
Windows向Linux上传文件夹
查看>>
20180104-高级特性-Slice
查看>>