小白学习vuejs-17-vuex

126 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第17天,点击查看活动详情

自学前端

  • 前文

    • 本文是我自学vue的一些知识以及个人理解, 希望帮助到一些想要学习前端的小白朋友
    • 介绍本次学习的是vuex相关知识
    • 这是基于我学习的笔记而来的文章

vuex

  • 官方解释: Vuex是一个专为Vue.js应用程序开发的状态管理模式

    • 它采用集中式存储管理应用的所有状态, 并以相应的规则保证状态以一种可预测的方式发生变化.
    • Vuex也集成Vue的官方调试工具devtools entension, 提供了诸如零配置的time-travel调试, 状态快照导入导出导出等高级调试功能
  • 状态管理到底是什么?

    • 状态管理模式, 集中式存储管理, 这些名词听起来就非常高大上, 让人捉摸不透
    • 其实, 你可以简单的将其看成把小多个组件共享的便令全部存储在一个对象里面
    • 然后, 将这个对象放在顶层的Vue实例中, 让组件可以使用
    • 那么, 多个组件是不是就可以共享这个对象中所有的变量属性了呢?
  • 等等, 如果是这样的话, 为什么官方还要专门初一个插件Vuex呢?难道我们不能自己封装一个对象来管理吗?

    • 当然可以, 只是我们要先想想VueJS带给我们最大的便利是什么呢?没错,就是响应式
    • 如果你自己封装实现一个对象不能保证它里面所有的属性做到响应式呢?当然也可以,只是自己封装稍微麻烦一些
    • 不用怀疑,Vuex就是为了提供这样一个在多个组件间共享状态的插件, 用它就可以了

管理什么状态呢?

  • 但是, 有什么状态需要我们在多个组件间共享的呢?

    • 如果你做过大型开放, 你一定遇到过多个状态, 在多个界面间共享问题
    • 比如用户的登录状态, 用户名称, 头像, 地理位置信息等等
    • 比如商品的收藏, 购物车中的物品等等
    • 这些状态信息, 我们都可以放在统一的地方, 对它进行保存和管理, 而且它们还是响应式的
  • Ok, 从理论上理解了状态管理之后 ,让我们从实际的代码再来看看状态管理.

    • 毕竟, Talk is cheap, show me code下一章见!

后记

  • 希望对对前端有兴趣的朋友们有帮助
  • 这篇文章主要是关于vuex的, 希望大家喜欢
  • vue的作者是中国人尤雨溪, 非常厉害的人