vuex状态管理库中的State公共数据源

Vuex是一个用于实现组件全局状态管理的机制,便于集中管理共享数据和提高开发效率。通过安装和配置Vuex,创建State来提供唯一的公共数据源,组件可以通过计算属性或getter访问。注意不应直接修改State,而应使用Mutation进行更新。

Vuex状态管理模式
vuex是什么?
是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间数据的共享
好处:
①能够在vuex中,集中管理共享的数据,易于开发和后期维护
②能够高效地实现组件之间的数据共享,提高开发效率
③存放在vuex中的数据都是响应式的,能够实时保持数据与页面的同步
安装: npm install vuex --save
使用:src里面创建store文件夹
创建index.js配置vuex 如图:
在这里插入图片描述
在这里插入图片描述
在index.js文件中引入:

import Vue from "vue";
import Vuex from "vuex";

Vue.use(Vuex);

export default new Vuex.Store({
  state: {
	//存放的内容所有组件都可以访问,类似于data
	name:"张三'
	},
  mutations: {},
  actions: {},
  modules: {},
});

在main.js:

import store from "./store";

Vue.config.productionTip = false;

new Vue({
  router,
  store,
  render: (h) => h(App),
}).$mount("#app");

其他组件中使用:

<template>
  <div class="about">
    <h1>This is an about page</h1>
    {{name}}
  </div>
</template>
<script>
export default {
  computed:{
    name(){
      return this.$store.state.name
    }
  }
}
</script>

他有5个核心属性:State,Getter,Mutation,Action,Module
state
提供唯一的公共数据源,所有共享数据都要统一放到Store的State中进行存储
创建store数据源,

const store = new Vuex.Store({
	state:{
		name:"张三"
	}
})

组件访问State中的数据
第一种

this.$store.state.全局数据名称
this.$store.state.name

第二种

//1.从vuex 中按需导入mapState 函数
import {mapState} from "vuex"  
//2.通过刚才导入的mapState函数,将当前组件需要的全局数据,映射为当前组件的computed计算属性
computed:{
	...mapState(['name'])
}

单一状态树,state里面的状态
使用计算属性获取最简单

computed:{
    name(){
      return this.$store.state.name
    }

注意:在其他方法中不要直接修改state里面的属性,想要修改请使用Mutation
下一篇文章会详细的解说他的mutaion,action,感谢观看

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值