美文网首页
2018-04-02

2018-04-02

作者: 小熊530 | 来源:发表于2018-04-02 22:46 被阅读0次

vuex(二)

文档中给出了一个vuex的“单项数据流”的图,证明vuex依然遵循vue.js单项数据流的特点,代表数据的State————>View————>Actions————>State。数据到模板中,跟踪状态的变化,再回到数据源。顺序不能反。


111111111111111.png

文档中提到多个组件共享状态时,单向数据流的简洁性很容易被破坏。
原因是:

  • 多个组件依赖同一个State,
  • 每个组件的方法会也需要跟变同一个State.
    组件之间层层嵌套也是一个非常繁琐的情况等等。

所以vuex将所有组件的需要的共享状态抽取出来,以一个全局单例模式管理。也就是将所有数据放在所有组件都能访问的全局中,这样一个所有的组件都能获取到State和Actions,那么什么是全局单例管理呢?


2222222222222222.png

每太看懂写个图。。。。先继续看吧

什么情况下使用vuex

优点:vuex可以帮助我们管理组件的共享状态。
缺点:vuex附带了更多的概念和框架,

也是说需要开发大型单页应用就使用vuex,否则没必要(可以用 global event bus )。

开始

每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。

vuex里面有一个叫store的仓库,这个仓库是全局的,是一个容器,这个容器是用来存储组件的共享数据。 我感觉也是vuex整个流程的起点

文档中描述:
Vuex 和单纯的全局对象有以下两点不同:

  1. Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

  2. 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。

1:

第一点比较好理解,vuex的store就是一个全局的超大型的data,(因为data里面的状态是响应式的,哈哈,原谅我暂时这样理解。。。)

2:

第二点,和普通的父子组件感觉上有那么一丢丢相识之处,子组件不能直接修改父组件数据,只能通过上传事件,而vuex只能通过显示提交mutation来修改store中的状态。如何在提交的时候跟踪数据的变化呢?

相关文章

  • 2018-04-02

    2018-04-02 王晓艳_6d4c 2018-04-02 00:20 · 字数 98 · 阅读 0 · 日记本...

  • knn约会实例2

    2018-04-02 分析数据:使用Matplotib创建散点图 https://www.cnblogs.com/...

  • 2018-04-02

    2018-04-02 180 戴师傅 简书作者 2018.04.02 21:07 打开App 2018-04-02...

  • 2018-04-02

    2018-04-02 180 戴师傅 简书作者 2018.04.02 22:09 打开App 2018-04-03...

  • 2018-04-02

    嘿,穷小子,2018炒股你得...... 2018-04-02 ​​​​ 因为我没有钱了, 所以出来挣钱了。 ...

  • 2018-04-03

    2018-04-02 想念99 2018-04-03 22:42 · 字数 712 · 阅读 0 · 日记本 上周...

  • 不要浪费自己的人生

    你好,四月!时间可以浪费,人生不能! 晓多 关注 2018-04-02 23:03 · 字数 3754 · 阅读 ...

  • 四月,新的国旗班!

    2018-04-02桂林理工大学国旗班 Apr.1 NO.2 Guilin Polytechnic Univers...

  • 2018-04-02

    2018-04-02 180 戴师傅 简书作者 2018.04.02 20:43 打开App (稻盛哲学学习会)打...

  • 傍晚游开封西湖

    艳阳天边挂,微风拂面颊。 俗气水中取,自在走天涯。 写于2018-04-02 10:15:36

网友评论

      本文标题:2018-04-02

      本文链接:https://www.haomeiwen.com/subject/tgjfhftx.html