在Vue中,多组件的开发给我们带来了很多的方便,但同时当项目规模变大的时候,多个组件间的数据通信和状态管理就显得难以维护。
Vuex就此应运而生。
将状态管理单独拎出来,应用统一的方式进行处理,在后期维护的过程中数据的修改和维护就变得简单而清晰了。
在我看来Vuex就是把需要共享的变量全部存储在一个对象里面,然后将这个对象放在顶层组件中供其他组件使用。
这么说吧,将vue想作是一个js文件、组件是函数,那么Vuex就是一个全局变量,只是这个“全局变量”包含了一些特定的规则而已。
Vuex的使用流程如下:
- 在需要使用组件的时候,在根节点注入store对象。
- 然后实例化生成此对象。
- 用户界面负责触发动作后, 通过调用store.commit(mutationName) 方法来触发mutation。
- 进而改变组件的对应状态(State),从而反映到视图(View)上。
需要注意的是,更改Vuex的store中的状态的唯一方法是提交 mutation。
mutation的本质就是用来处理数据的函数,其接收唯一参数值state,另外定义的mutation必须是同步函数。
虽然Vuex可以帮助我们管理共享状态,但也附带了更多的概念和框架。
如果你的应用够简单,最好不要使用Vuex。但是,如果需要构建一个中大型单页应用,你很可能会考虑如何更好地在组件外部管理状态,Vuex 将会成为自然而然的选择。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。