美文网首页
Vuex 是什么?

Vuex 是什么?

作者: 懿左左 | 来源:发表于2018-07-06 21:34 被阅读0次

一、Vuex 是什么?

  Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

这个状态自管理应用包含以下几个部分:

  • state,驱动应用的数据源;
  • view,以声明方式将 state 映射到视图;
  • actions,响应在 view 上的用户输入导致的状态变化。

二、引入Vuex(前提是已经用Vue脚手架工具构建好项目)

  • 1、利用npm包管理工具,进行安装 vuex。在控制命令行中输入下边的命令就可以了。

    npm install vuex --save

  要注意的是这里一定要加上 –save,因为你这个包我们在生产环境中是要使用的。

  • 2、新建一个store文件夹(这个不是必须的),并在文件夹下新建store.js文件,文件中引入我们的vue和vuex。
    import Vue from 'vue';
    import Vuex from 'vuex';
  • 3、使用我们vuex,引入之后用Vue.use进行引用。
    Vue.use(Vuex);

  通过这三步的操作,vuex就算引用成功了,接下来我们就可以操作了。

  • 4、在main.js 中引入新建的vuex文件
   import storeConfig from './vuex/store'
  • 5、再然后 , 在实例化 Vue对象时加入 store 对象 :
    new Vue({
      el: '#app',
      router,
      store, //将store挂载到vue上,通过在根实例中注册 store 选项,该 store 实例会注入到根组件下的所有子组件中,且子组件能通过 this.$store访问到.
      template: '<App/>',
      components: { App }
    })

三、Vuex核心及最基本的 Vuex 记数示例

  每一个 Vuex 应用的核心就是 store(仓库)。“store”基本上就是一个容器,它包含着你的应用中大部分的状态 (state)。Vuex 和单纯的全局对象有以下两点不同:

    1. Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。
    1. 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。

最简单的 Store

  安装Vuex 之后,让我们来创建一个 store。创建过程直截了当——仅需要提供一个初始 state 对象和一些 mutation:

// 如果在模块化构建系统中,请确保在开头调用了 Vue.use(Vuex)

const store = new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++
    }
  }
})

  现在,你可以通过 store.state 来获取状态对象,以及通过 store.commit 方法触发状态变更:

store.commit('increment')
console.log(store.state.count) // -> 1

  再次强调,我们通过提交mutation 的方式,而非直接改变 store.state.count,是因为我们想要更明确地追踪到状态的变化。这个简单的约定能够让你的意图更加明显,这样你在阅读代码的时候能更容易地解读应用内部的状态改变。此外,这样也让我们有机会去实现一些能记录每次状态改变,保存状态快照的调试工具。有了它,我们甚至可以实现如时间穿梭般的调试体验。

  由于 store 中的状态是响应式的,在组件中调用 store 中的状态简单到仅需要在计算属性中返回即可。触发变化也仅仅是在组件的 methods 中提交 mutation

相关文章

  • Vuex

    安装Vuex cnpm install vuex --save-dev Vuex是什么? 这是[Vuex的官网](...

  • 使用 Vue.js 2 + Vuex 创建 Notes App

    Vuex 是什么? Vuex is a state management pattern + library fo...

  • 配置 vuex 和 vuex 本地持久化

    配置 vuex 和 vuex 本地持久化 目录 vuex是什么 vuex 的五个核心概念State 定义状态(变量...

  • vuex

    配置 vuex 和 vuex 本地持久化 目录 vuex是什么 vuex 的五个核心概念State 定义状态(变量...

  • vuex的使用

    配置 vuex 和 vuex 本地持久化 目录 vuex是什么 vuex 的五个核心概念State 定义状态(变量...

  • vuex

    参考链接 https://vuex.vuejs.org/zh-cn/ Vuex 是什么? Vuex 是一个专为 ...

  • vuex介绍

    一、vuex介绍(1)vuex是什么? 借鉴 了Flux、Redux、 The Elm Architecture ...

  • vuex

    烨竹 参考:https://vuex.vuejs.org/zh/ Vuex 是什么? Vuex 是一个专为 Vue...

  • Vuex 学习笔记

    前言 学习vuex之前,我提出了3个疑问。Vuex 官网 vuex 是什么?官方文档解释:vuex 是一个专为 V...

  • vuex官方文档细说

    官网地址:https://vuex.vuejs.org/zh-cn/ vuex是什么 首先,vuex是一种设计思想...

网友评论

      本文标题:Vuex 是什么?

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