vuex工作原理与流程

vuex工作原理与流程

Vue组件(action里面的dispatch )--> actions(commit方法) -->mutations(Mutate)--> state(getter) -->store更新所有调用vuex的组件(Vue Component组件)

1、state
存储应用状态数据的对象,与vue组件中data类似
state的值可以是对象,也可以是返回对象的函数
通过store.state访问状态数据
示例如下:

import Vue from 'vue'
import Vuex from 'vuex'
Vue.use(Vuex);
//必须在使用vuex之后去创建store
let store = new Vuex.Store({
   
    state: {
   },
    getters: {
   },
    mutations: {
   },
    actions: {
   }
})
//创建state
let state = _=>({
   a:1})
const store = new Vuex.Store({
   
    state
})

const store2 = new Vuex.Store({
   
    state
})
console.log(store.state == store2.state);
store.state.a = 100;
console.log(store.state.a, store2.state.a);

// store/index.js
import Vue from 'vue'
import Vuex from 'vuex'
import state from './state'
Vue.use(Vuex);
const store = new Vuex.Store({
   
    state
})

export default store;
// 在组件中使用state
// stores/state.js
export default () => ({
   
    title: '骄阳似火',
    content: '来杯冷饮吧'
})
<!--Home.vue-->
<template>
  <div class="home">
    <h2>{
   {
   title}}</h2>
    <div>{
   {
   content}}</div>
  </div>
</template>
<script>
import store from '@/store'
export default {
   
  name: 'home',
  data() {
   
    return {
   
      title: store.state.title,
      content: store.state<
  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Vuex 中,getter 和 setter 是用于访问和修改状态的方法。Vuex 是一个专为 Vue.js 应用程序开发的状态管理库,它通过使用集中式的状态管理模式来管理应用程序的所有组件共享的数据。 getter 和 setter 的实现原理如下: 1. Getter 的原理:Getter 是用于获取状态的计算属性。当应用程序中的组件需要获取状态时,它可以通过调用 getter 方法来获取状态的值。Getter 方法接收 state 对象作为参数,从而可以访问和计算状态的值。Getter 可以接收其他 getter 作为参数,从而形成 getter 链式调用。 2. Setter 的原理:Setter 是用于修改状态的方法。当应用程序中的组件需要修改状态时,它可以通过调用 setter 方法来修改状态的值。Setter 方法接收 state 对象和一个新值作为参数,从而可以将新值设置给状态。 Vuex 将 getter 和 setter 方法与状态对象(state)结合起来,通过在 store 中定义 getter 和 mutation(用于修改状态的方法)来实现对状态的访问和修改。 当组件需要获取状态时,它可以使用 mapGetters 辅助函数将 getter 映射到组件的计算属性中,并通过计算属性来获取状态的值。类似地,当组件需要修改状态时,它可以使用 mapMutations 辅助函数将 mutation 映射到组件的方法中,并通过调用方法来修改状态的值。 这种集中式的状态管理模式可以确保应用程序中的所有组件都使用相同的状态,并且状态的修改是通过调用特定的方法来进行的,从而使状态的管理更加可控和可维护。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值