Vuex

作者: cj_jax | 来源:发表于2019-01-10 23:45 被阅读0次

    是什么?

    • Vuex 是专门为Vue提供的状态管理工具
    • 状态即数据
    • 状态管理就是管理 Vue组件中的数据
    • 内部机制: Vuex采用集中式的方式,来统一管理 Vue 中需要共享的数据( 也就是:多个组件中都会用到的数据 )
    • Vuex中的数据也是响应式的
    • Vuex 借鉴了 Flux、Redux 等状态管理模式。前端最早的状态管理思想就是 React 中的 Flux

    有什么用?

    • 复杂项目中,解决组件通讯的难题

    什么时候用?

    • 1 不要觉得 Vuex 很强大就使用!!!这是一个错误的观点
    • 2 小项目不需要使用 Vuex
    • 3 只有 大型项目 或者 开发过程中觉得组件通讯太多,管理组件外的数据太麻烦,此时就可以使用Vuex
    • 4 如果你不知道是不是该用 Vuex ,那么就是不需要!!!

    Vuex中的核心概念

    store

    • 1 一个Vue项目中只能有一个store(仓库)
    • 2 store中提供了:1 共享的数据(state) 2 操作数据的方法
    • 3 如果想要修改 store 中的state,应该通过 store 提供的方式,而不能手动修改!!!

    state

    • 状态即数据
    • state 也就是原来 Vue 中的 data
    • 一个Vue项目中应该只有一个state

    getters

    • Vuex 的计算属性
    • 使用方式 与 计算属性一样
      • 创建的时候是一个方法
      • 使用的时候是一个属性 $store.getters.leftCount

    mutations

    • 作用:提供修改 state 的方法
    • 说明:数据只能通过 mutations 中提供的方法来修改数据
    • 注意:mutations中只能同步修改数据!!!

    actions

    • 作用:封装异步操作,调用 mutations 修改数据
    • 区分 同步和异步 最本质的区别: 异步操作放在 actions 中能用 devtools 追踪状态变化;如果放在 mutations 中是无法追踪状态变化的

    相关文章

      网友评论

          本文标题:Vuex

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