Vuex 基本简单的使用

适用场景

  1. 全局共享数据,抛开繁琐的组件传值;
  2. 什么数据适合全局共享?(组件的共享数据);
  3. 好处?(谁要用,直接获取,组件修改其他的也变化);
  4. 数据管理集中化,全局管理方便;

如何在项目中使用vuex

  1. 下载
cnpm  i vuex -S
  1. 导入,挂载vuex(main.js中)
//导入vuex
import Vuex from 'vuex'
//把vuex安装到vue中:
Vue.use(Vuex)
  1. 创建store对象
//创建一个store实例用来全局存储;
const store = new Vuex.Store({
  state: {
    number:5,
           }
    })
  1. 将store挂载到vm上
 //store挂载到vm上,才能在每个组建中通过this.$store.state.公共数据名称
/* eslint-disable no-new */
new Vue({
  el: '#app',
  router,
  render: h => h(App),
  store  
})

this.$store.state.数据名称的调用

.vue组件调用:(第一种直接使用)
<template>
  <div>
     {{this.$store.state.number}}
  </div>
</template>
.vue组件调用:(第二种导入辅助函数)
import {mapState} from 'vuex'    //按需导入辅助函数和计算属性配合
 // 调用 mapState 函数和展开运算符
  computed:{
   ...mapState(['number']) 
  }
页面直接使用
<div>{{number}}</div>

mutations:如果要修改state的数据需要在store中调用方法

全局定义使用:
const store = new Vuex.Store({
  state: {
     chuanc:10,
    },
  mutations: {
    add(state){
      state.chuanc += 2
     },
    }
})
调用辅助函数mapMutations
import {mapState,mapMutations } from 'vuex'    //按需导入辅助函数和计算属性配合
调用方法:
 methods: {
   ...mapMutations(['add']) 
  },
// 调用 mapState 函数和展开运算符
  computed:{
   ...mapState(['chuanc']) 
  }
组件展示:
<div>
     {{chuanc}}
     <button @click="add">添加</button>
</div>

getters的使用(相当于计算属性):

  1. getters中定义的方法,就相当于vue的计算属性;
  2. getters变化了那么getters生成的数据也会变化;
    在这里插入图片描述
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

X W F

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值