认识vuex

vuex的工作方式

vuex是把所有组件的所有需要被共享的状态和数据放在一个统一的内存空间去管理,我们把它称为state。那state中的数据又可以方便的映射到vue compontents组件上渲染组件。当组件中的数据发生变化时它可以dispatch一个Action,Action可以做一些异步操作,比如与后端的一些交互。之后会去commit一个mutation,我们也可以在组件中直接commit一个mutation,mutation是一个唯一可以修改state的方式。vuex的设计目的就是让state状态的修改可以预测,当state中的数据修改后,又会反映在组件上。

vuex的使用场景

1、解决多个组件之间的状态共享

假设我们的应用是比较复杂的,有些数据是被一些组件共享的,而这些组件又是兄弟组件或者是关联度很低的组件,这时候我们想要共享和修改数据就比较困难,而且代码也很难维护。

2、解决路由间的复杂数据传递

因为,比如我们遇到一些路由跳转场景,如果传递的参数很复杂的时候,那使用vuex传递数据也是一个很不错的解决方案

state

把最基础的数据放在state中,可以根据state中的基础数据计算出来的放在getters中

getter

getter的作用有两个,一个作用是可以做state数据的代理,另一个作用是可以充当计算属性的作用,根据state中的基础数据计算出需要的数据。

mutation

action

action中的业务通常有两种情况,一种是异步操作。一种是对mutation的封装,比如当我们的某个操作需要触发多个mutation的时候,我们可以把这些mutation都用一个action封装,然后通过调用一个action去调用多个mutation的目的

你可能感兴趣的:(认识vuex)