2021-01-13 vuex

vuex是集中式状态数据管理工具,它里面的不论是mutations定义的初始化数据或是action接收的异步数据都可以映射到组件当中,方便了组件间的数据共享,组件间的数据不再像父传子,子传父这样单一。

配置vuex需要引入vue,下载vuex并导入。使用vue.use来使用vuex。创建vuex存储对象,里面包含state、mutaitions、actions、getters,modules。

1. state可看作一个容器,它里面的数据是要被mutations初始化的,将来要渲染到页面上的也是他里面的数据,值得注意的是如果我们启用了modules模块化就不能正常那样通过辅助方法拿到某个数组了。

2. mutations方法是对数据的增加删除和修改,他里面的方法第一个参数就是state,第二个参数是需要的index、id,或者name(我们要修改所需要的额外参数)。

3. actions可操作异步数据,其实就是处理接口实现在数据库的增删改。mutations操作的数据只能实现页面效果,页面刷新之后,删除或修改的数据是会回来的,因为他没有在数据库发生改变,只是实现了当前页面的刷新。

其次,如何在actions里触发mutations方法。在组件当中我们以this.$store.commit()触发mutations里的方法,在actions当中,他的方法有一个系统自动注入的config,这个config就有commit,那么我们在actions当中可以使用config.commit触发mutations里的方法来实现页面刷新。

actions操作数据库内的数据通过接口即可完成,值得注意的是需要传递一些需要的参数,而后我们调用commit触发mutations实现页面刷新。

补充一点,不用每次使用config.commit调用mutations,在actions的方法中是可以  BrandUpdate({commit},其他参数){} ,直接解构取得的。

4. getters类似于vue中的计算属性。

5.modules是vuex模块化工具,目的是为了是主包更简洁,更加细化的文件方便后期维护。

后面补充

二  在组件中使用vuex可以直接在created中this.$store.commit() 、this.$store.dispatch(),也可引入vuex辅助方法,state和getters在computed中调用?而后当作组件自己的计算属性使用。mutations和actions在methods中调用,而后当作自己的方法使用。一般这四种方法都使用...mapState['名字'],mapMutations['方法名']解构的方式。


未完待续...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容