Vuex个人总结

1.组件之间共享数据的方式
父向子传值:v-bind属性绑定,子组件使用props接收。
子向父传值:v-on事件绑定。通过emit提交事件,父组件通过v-on监听子组件提交的事件
兄弟组件传值:new一个vue实例,当作EventBus中央事件总线,它允许两个子组件之间直接通信。on 接收数据的那个组件,$emit发送数据的那个组件

2.使用Vuex
Vuex是实现组件全局状态(数据)管理的一种机制,可以方便的实现组件之间数据的共享

3.一般情况下,只有组件之间共享的数据,才有必要存储到vuex中,对于组件中的私有数据,还是存储再自身的data中比较合适。

4.Vuex的核心
①State
②Mutation
③Action
④Getter
⑤Modules

5.State提供唯一的公共数据源,所有共享的数据都要统一放到Store的States中进行存储
相当于组件中的data访问State中的数据的第一种方式:
this.$store.state.数据名称
第二种方式
import {mapState} from 'vuex’

从vuex中按需导入mapState函数,通过导入的mapState函数,将数据映射为当前组件的computed计算属性
computed: {
…mapState([‘inputValue’,‘viewKey’]),
},
使用. . .将mapState解构出来,一定要使用**. . .**

6.Mutation用于改变State中的数据,只能通过Mutation改变。
在这里插入图片描述
可以在触发mutations时传递参数,第一个参数为state,第二个为传递的值
触发mutations的方法和state差不多,也是两种方法
①从vuex中按需导入mapMutations函数
import { mapMutations} from ''Vuex
在methods中使用 . . .mapMutations{[‘方法名’,‘参数‘]}
②使用this.$store.commit(’‘f方法名’,‘参数’)

7Action用于处理异步任务
如果通过异步任务操作变更数据,必须通过Action,而不能使用Mutation,但是在Action中还是要通过commit触发Mutations的方式间接变更数据
在这里插入图片描述
actions中的方法内,参数必须是context,通过context.commit()触发Mutations中的方法,改变数据
在这里插入图片描述

在methods中,通过this.$store.dispatch(‘getList’)触发actions中的方法。也可以使用
. . . mapActions([‘getList’])触发。

8.Getter用于对State中的数据进行加工处理形成新的数据,类似于Vue的计算属性。State中的数据发生变化,Getter中的数据也会发生变化。
使用Getter的两种方法。
①this.$store.getters.方法名
②使用. . .mapGetters([‘方法名’])。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值