vuex的学习

目录

一、vuex

1.定义

2.安装

二、store创建

1.定义

2.结构

3.引入store

三、状态的核心概念

1. state

2. actions

3. mutations

4. getters

5.数据映射

6. 案列示例

四、模块化编码(modules)


一、vuex

1.定义

专门在 Vue 中实现集中式状态(数据)管理的一个 Vue 插件,对 vue 应 用中多个组件共享状态进行集中式的管理(读/写),也是一种组件间通信的方式,且适用于任意组件间通信。

 原理图:

State | VuexVue.js 的中心化状态管理方案https://vuex.vuejs.org/zh/guide/state.html

vuex多应用于多个组件应用与同一个状态,多个组件变更同一状态。

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

什么是“状态管理模式”?

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

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

以下是一个表示“单向数据流”理念的简单示意:

但是,当我们的应用遇到多个组件共享状态时,单向数据流的简洁性很容易被破坏:

  • 多个视图依赖于同一状态。
  • 来自不同视图的行为需要变更同一状态。

2.安装

npm i vuex@3        注释:@3是版本号,vue2用vuex@3版本,vue3用4版本

二、store创建

1.定义

概念:每一个Vuex应用的核心就是Store(仓库),我们可以说Store是一个容器,它包含着你的应用中大部分的状态 (state)。但Store里面的状态与单纯的全局变量是不一样的,无法直接改变Store中的状态。想要改变状态需通过mutation去修改。

Vuex 和单纯的全局对象有以下两点不同:

  1. Vuex 的状态存储是响应式的。当 Vue 组件从 store 中读取状态的时候,若 store 中的状态发生变化,那么相应的组件也会相应地得到高效更新。

  2. 你不能直接改变 store 中的状态。改变 store 中的状态的唯一途径就是显式地提交 (commit) mutation。这样使得我们可以方便地跟踪每一个状态的变化,从而让我们能够实现一些工具帮助我们更好地了解我们的应用。

2.结构

创建文件夹store与src根目录下,建立index.js。需包含actions,mutations,state结构如下:

import Vue  from 'vue'        // 引入vue

import Vuex from 'vuex'        // 引入vuex

Vue.use(Vuex)         // 应用vue插件

// actions响应组件中的动作

const actions = { }

// mutations操作数据state

const mutations = { }

// 准备state存储数据

const state = {

   //状态对象

}

 

//想要对状态有要进一步的加工时可以用到

//getters  从 store 中的 state 中派生出一些状态

const getters={ <

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值