Vuex【state、mutations、actions、modules、getters】
一、在没有Vuex如何解决组件间数据传递的问题
举例:点击不同的选项卡来切换页面时
选项卡和页面属于不同的组件,他们都在同一个父组件之下。
选项卡和页面组件的数据都来源于父组件。在选项卡组件中使用自定义事件改变了父组件中的数据,然后两个子组件都因为数据的改变而发生视图的改变。
过程中:
因为更改数据的逻辑在父组件中,同一份数据只能通过父组件这个中间桥梁来传递。这两个兄弟组件之间没法直接传值,做到数据联动。
Vuex带来的改变
vuex解决问题的方案:
- 给这个程序提供一个容器,管理这些状态数据,来共享给任何组件。
- 同时容器内部还有一些方法,来更改这些状态数据。
总结(改变):
这样的话,组件想要获取这些数据,只需要调用容器的方法,去更改数据,多个组件中就做到了数据联动。不需要借助一个父组件来传递相同的数据。
同时数据和更改数据的方法统一管理,也便于使用和维护。