13、Vuex的基本原理

简介: 13、Vuex的基本原理

1、谈谈你对Vuex的理解


首先我们要知道组件之间的通信方法,一种是父传子,使用属性绑定。 一种是子传父,使用事件绑定。还有一种是兄弟传值,用EvenBus。但是这3种方法只适合小范围的数据共享。


如果我们需要频繁地、大范围地数据共享,那么就要使用Vuex进行数据共享。Vuex就是实现组件全局状态(数据)管理的一种机制,可以实现组件之间数据的共享。


2、Vuex的好处


  • 1、能够在vuex中集中管理共享的数据,易于开发和后期维护。
  • 2、能够高效地实现组件之间的数据共享,提高开发效率。
  • 3、存储在vuex中的数据都是响应式的,能够实时保持数据与页面的同步。


3、适用场景


4、五个核心属性


它有五个核心属性,分别是State、Getter、Mutation、Action、Module


state:存放公共数据的地方;获取数据:this.$store.state.值名称


getter:获取根据业务场景处理返回的数据;


mutations:唯一修改state的方法,修改过程是同步的;为什么要定唯一修改的方法,因为如果后期你想知道是谁修改了state的值,那么多组件调用state的值,找起来会很麻烦。所以才定一个修改state的方法,方便后期维护。


action:异步处理,通过分发操作触发mutation;


module:将store模块分割,模块化,命名空间;


5、获取State值的两种方式


第一种是:{{this.$store.state.值名称}}


<h1>{{ this.$store.state.count }} </h1>


第二种是:...mapState(["count"])

<template>
  <div id="sub">
    <h1>
      <!-- 3、渲染数据 -->
      {{ count }}
    </h1>
  </div>
</template>
<script>
// 1、导入vuex
import { mapState } from "vuex";
export default {
  name: "Sub",
  // 2、监听state值
  computed: { ...mapState(["count"]),},
  };
</script>

7、定义和获取mutaion方法


1、定义方法(./store/index.js):


mutations: {
    add(state) {
      state.count++;
    }
  },


2、获取方法:this.$store.commit("add")

<template>
  <div id="add">
    <h1>
      当前最新的count值为:
      {{ this.$store.state.count }}
    </h1>
    <button @click="handle">+</button>
  </div>
</template>
<script>
export default {
  name: "Add",
  methods: {
    handle() {
      this.$store.commit("add");
    },
  },
};
</script>

8、定义和获取mutaion方法

相关文章
|
2月前
|
存储 JavaScript 前端开发
Redux原理
【10月更文挑战第26天】Redux通过单一数据源、只读状态、纯函数修改状态等核心概念,以及清晰的工作流程和中间件机制,为JavaScript应用程序提供了一种强大而可预测的状态管理方案。它与React等视图库的结合能够有效地实现数据驱动的视图更新,提高应用程序的可维护性和可扩展性。在实际应用中,根据项目的具体需求和复杂度,可以灵活地运用Redux及其相关的工具和技术,来构建高效、稳定的前端应用。
88 33
|
5月前
|
存储 资源调度 JavaScript
学习使用Vuex
【8月更文挑战第5天】学习使用Vuex
53 5
|
6月前
|
存储 缓存 JavaScript
VUEX 的使用学习一
VUEX 的使用学习一
46 0
|
8月前
|
存储 JavaScript 前端开发
Redux 与 Vuex:探索它们的设计思想及应用差异
Redux 与 Vuex:探索它们的设计思想及应用差异
|
JavaScript 前端开发 算法
Redux和Vuex的异同点,以及用到的相同的思想
Redux和Vuex的异同点,以及用到的相同的思想
|
8月前
|
JavaScript 前端开发 中间件
redux 有什么优缺点
redux 有什么优缺点
187 0
|
JavaScript
Vue.use的使用和基本原理
Vue.use的使用和基本原理
259 0
|
存储 JavaScript 前端开发
说说你对Redux的理解?其工作原理?
说说你对Redux的理解?其工作原理?
76 0
|
JavaScript 中间件 API
redux原理是什么
redux原理是什么
99 0
|
存储 JavaScript 前端开发
Vuex的学习
Vuex的学习
103 0