Vuex 五个核心【State,Getter,Mutation,Action,Module】

Vuex 是 Vue.js 应用的状态管理模式,集中管理组件状态,解决组件间数据共享问题。核心概念包括:State(数据源)、View(映射状态到视图)、Actions(响应用户输入引发的状态变化)、Mutations(同步更新状态)和Getters(计算属性,缓存依赖并根据变化计算)。文章详细介绍了如何初始化项目、定义State、编写Mutations、处理Actions和使用Getters。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Vue是什么?

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

  • vuex是采用集中式管理组件依赖的共享数据的一个工具,可以解决不同组件数据共享问题。

大家都知道兄弟组件之间的传值是用到事件EventBus来进行的,当然也可以通过父组件作为桥梁进行传值,那么遇到祖孙组件时传值就会比较麻烦,所以eventbus只是小型项目考虑的,当项目大起来的时候,就考虑使用vuex(因为是官方的亲儿子- - )

 

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

  • state,驱动应用的数据源;

  • view,以声明方式将 state 映射到视图;

  • actions,响应在 view 上的用户输入导致的状态变化。

 以下是一个表示"单向数据流"理念的简单示意图

watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pin5YWJVg==,size_20,color_FFFFFF,t_70,g_se,x_16 

初始化项目:

npm i vuex --save -- 安装到运行时依赖 开发时依赖 就是开开发的时候,需要的依赖,运行时依赖,项目上线运行时依然需要的

 

vuex基础-state:

state是放置所有公共状态的属性,如果你有一个公共状态数据 , 你只需要定义在 state对象

中定义state

store/index.vue

import Vue from 'vue'
// 1.引入库
import Vuex from 'vuex'
// 2.注册(其实是执行了Vuex内的install方法
//vuex: 全局状态共享   state:状态
// 全局: 所有组件都能共享使用 state 中的值
Vue.use(Vuex)
export default new Vuex.Store({
// 3.书写在 state 中的变量, 就可以全局共享, 在所有组件中都可以使用
  state: {
    //管理数据
    count:0,
    name:'zs'
  },
  mutations: {
  },
  actions: {
  },
  modules: {
  }
})

这个.vue文件放view文件夹或者components文件夹那都可以 ,自己创一个文件  

<template>
  <div>
      <!-- 怎么在组件中获取count 和 name? -->
      <!-- 这是原始的插值语法 -->
      <div>{
  {$store.state.count}}</div>
      <div>{
  {$store.state.name}}</div>

      <!-- 这是语法糖写法  这种写法比较多人喜欢  它有三个步骤 -->
      <!-- 3.使用接收 -->
      <div>{
  {count}}</div>
      <div>{
  {name}}</div>
  </div>
</template>
<script>
// 1.引入mapState
import { mapState } from 'vuex'
  export default {
    computed:{
      // 语法糖写法  mapState是辅助函数 帮助我们把store中的数据映射到 组件的计算属性中
      // 2.采用数组形式引入state属性,并用扩展运算符将导出的状态映射给计算属性
      ...mapState(["count","name"])
     
    }
    
  }
</script>
<style lang="scss" scoped>
</style>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值