Vuex

作者: 想做一个画家 | 来源:发表于2017-10-28 17:48 被阅读240次

Vuex

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

  • 安装:npm install vuex --save
  • 此处的状态即:数据(data中的属性)
  • 特点:集中式
  • vuex中 store 就是数据(state)存储的容器
  • 注意:
    • 通过 store.count 来获取仓库中的数据(状态)
    • 必须通过 mutations 中提供的方法来修改数据(状态)
当一个大型项目功能变得越来越复杂,项目中的组件越来越多
此时,各个组件之间都可能存在相互通讯的问题,如果不处理,那么各个组件之间就会相互传递数据
导致的结果就是,我们项目中的数据就不可预测了。也就是:各个组件相互影响,不知道是哪一个组件
在什么情况下修改数据
散乱的组件.jpg 用vuex来管理组件让它们集中起来.jpg

1.创建store/index.js

// 1 导入 vue
import Vue from 'vue'
// 2 导入 vuex
import Vuex from 'vuex'
// 安装 vuex 插件
Vue.use(Vuex)

const store = new Vuex.Store({
  // 数据(状态)
  // 读取数据:store.state.count
  state: {
    count: 10
  },

  // 用来操作数据的方法
  // 修改数据:store.commit('addCount', 参数)
  mutations: {
    addCount(state, arg) {
      // 参数:state表示 上面的 state对象
      // 实现 count +1
      // state.count++
      state.count += arg.count
      console.log(arg.abc);
      console.log('这是通过 mutations 中的addCount 方法修改了count值');
    }
  }
})

export default store

2.在 Vue 实例中通过 store 将 vuex 与实例挂到一起

// 导入 vuex
import store from '../store'

// 3 将Vue实例与 App 挂到一起
const vm = new Vue({
  el: '#app',
  router,
  // 将 vuex 与实例挂到一起
  store,
  render: c => c(App)
})

3.调用 store 中的数据

<script>
 /* // 测试 vuex
    fn() {
      // 调用 store 中的方法
      this.$store.commit('addCount', { count: 2, abc: 'aaa' })
    }, */
</script>

4.展示 store 中的数据

<template>
   测试:
              展示 store 中的数据
              <mt-button type="danger" @click="fn">测试vuex</mt-button>
              {{ $store.state.count }}
</template>

相关文章

  • VUEX基本介绍,包含实战示例及代码(基于Vue2.X)

    VUEX 1 VUEX基本介绍 1.1 官方API 1.2 什么是vuex 1.3 Vuex使用场景 1、Vuex...

  • 【文档笔记】-Vuex

    什么是vuex? vuex文档: https://vuex.vuejs.org/zh/[https://vuex....

  • vuex配置

    vuex配置 目录 vuex的五个核心 配置vuex vuex持久化 一、vuex五个核心概念 State 定义状...

  • Vuex

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

  • Vuex

    1.Vuex概述 2.Vuex基本使用 3.使用Vuex完成todo案例 1.Vuex概述 Vuex是实现组件全局...

  • vuex

    Vuex介绍: Vuex官网:http://vuex.vuejs.org/ Vuex是实现数据状态管理的技...

  • vuex+axios 的开发流程记录

    相关文档 vuex: https://vuex.vuejs.org/zh/ 是否有必要使用vuex vuex是vu...

  • 2019-06-07

    import Vue from 'vue'import Vuex from 'vuex'Vue.use(Vuex)...

  • 配置 vuex 和 vuex 本地持久化

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

  • vuex

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

网友评论

    本文标题:Vuex

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