Vuex学习心得

1.什么是vuex?

state:数据 状态

view:数据的呈现

actions:数据的变更


2.什么时候用?

答:多个组件共享数据(状态)的时候。  之前的单项数据流被破坏

  代码的可读性 维护性下降。

简单的单页应用:直接一个global event bus即可!

  复杂的大型单页应用:vuex


全局单例模式管理!

3.Flux 架构就像眼镜:您自会知道什么时候需要它。

直观理解:看不清楚的时候自然需要眼睛。 开发过程中数据管理很杂乱的时

就需要使用了, 如人饮水,冷暖自知!  说的有点事后诸葛亮,正确的废话。


4.Vuex的核心就是store仓库,是state的容器。

a:状态(数据)存储响应式,依赖数据的组件会被数据驱动,就是当store中的state(数据)发生变化时,组件会被触发更新。

因为数据在computed属性中,computed属性中的数据会被vue底层监控哦! 所以才会触发组件的更新。  

b:不能直接改变状态(数据),改变状态的唯一方式是提交mutations。

5.创建store

改变store中的state(状态):store.commit('mutations中的方法')        

答:为何这么做?  跟踪依赖,谁提交的状态改变,

读取store中的state(数据):store.state.数据项         计算属性



6.单一状态树:一个store对象保存所有的state(数据)


7.Vuex 通过 store 选项,提供了一种机制将状态从根组件『注入』到每一个子组件中(需调用 Vue.use(Vuex)):

8.vuex管理的全局状态!   组件的局部状态自己管理即可!

9.mapState辅助函数:mapState辅助函数帮助我们生成计算属性

什么情况下用:当一个组件需要读取多个状态的时候,将这些状态都声明为计算属性会有显得重复和冗余。


10.getters:store对象的计算属性(组件的计算属性) state需要处理(过滤。。。)

state作为计算属性方法的第一个形参哦!


11.mapGetters辅助函数 将组件中的计算属性映射到store中的getters。

mapGetters 辅助函数仅仅是将 store 中的 getters 映射到局部计算属性:


12.Mutations


13.Actions:提交的时mutation,而不是直接改数据。

任何异步操作。

context:store实例的引用

store.dispatch分发action

14.Modules:store分割成模块




原文地址:https://www.cnblogs.com/njqa/p/7171310.html