vuex/pinia/eventBus学习记录

  1. vuex:
    1. vuex是什么:
      1. vue中实现数据管理的插件,对多个组件的共用状态进行管理,也能实现组件之间的数据传递
    2. vuex优点:
      1. 集中共享数据管理,便于数据共享
      2. 响应式
    3. vuex用法
      1. store:
        1. 创建store对象:const store = new Vuex.Store({ state:{count:0} })
        2. 访问store数据:this.$store.state
        3. mapstate:能帮助生成计算属性coumputed:{ ...mapState(['count']) }
      2. mutations:只能通过mutations内定义变更store数据的函数,并不能直接操作store里面的数据,不能实现异步操作:
        1. 定义mutations
        2. 触发mutations: this.$store.commit('add')
        3. 使用mapMutations:将需要的mutations函数映射为当前的methods方法
          1. 如图
      3. action:
        1. 在actions内定义:
        2. 触发actions:this.$store.dispatch('addAsync')
        3. mapActions:将需要使用的actions函数,映射为当前组件的methods方法
      4. getters:
        1. 定义getters:
        2. 使用getters:this.$store.getters.名称
    4. vuex与eventbus区别:
      1. vuex:响应式变化,与双向绑定原理一样,通过setter与getter进行数据劫持
      2. eventbus:利用时间抛发原理进行数据传递
  2. pinia:
    1. 只有store、actions、gettters,其中actions支持同步与异步
    2. store内定义数据,使用storeToRefs(store)实现数据响应式
    3. store.$reset():重置store内数据
    4. store.$patch:能批量修改store内部数据
    5. store.$state = obj :替换整个state对象
    6. getters:store内的computed属性
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值