vue.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > javascript类库 > vue.js > vue3用computed来获取vuex里数据

vue3.0如何使用computed来获取vuex里数据

作者:智慧2021

这篇文章主要介绍了vue3.0如何使用computed来获取vuex里数据问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

vue3使用computed获取vuex里数据

不再是vue2.0里什么mapGetter,mapState那些复杂的获取方式,

vue3.0里直接使用computed就可以调用vuex里的数据了。喜大普奔。

同时注意,一点,不可以直接使用useStore()方法里的state对象,因为在输出useStore方法的数据中,state是浅灰色的。

浅灰色只可看到,但是不可以直接使用。

如图:

<template>
<div>{{dataList}}</div>

</template>
<script>

import { defineComponent, ref, reactive, toRefs, computed } from "vue";
import { useStore } from 'vuex'
// computed 计算属性
export default defineComponent({
  name: "home",

  setup(props, ctx) {
    let store = useStore()
    // 因为store里state是浅灰色的,所以不能直接使用,若要使用store.state.dataList需要computed来调用
    console.log(store)
    let dataList = computed(()=>{
      return store.state.dataList
    })
    console.log(dataList)
   return {
     store,
     dataList
   }
  },
});
</script>
<style scoped lang="scss">
</style>

vue3 简单使用vuex

mutations用于更变store中的数据(同步)

如何调用mutations中数据

vue3中取vuex里的数据 需要用 computed获取

使用store.commit(“add”) 来触发vuex里的mutations方法

触发mutations时传递参数:store.commit(“addN”,2) 通过第二个参数

使用action触发某个mutation

使用dispatch

如何使用getters

getter用于对store中的数据进行加工处理形成的新的数据

不会修改store中的原数据 它只起到一个包装器的作用 将store中的数据变一种形式返回出来

1.getter可以对store中已有的数据加工处理之后形成新的数据,类似vue的计算属性

2.store中数据发生改变 getter中的数据也会跟着变化

用计算属性可以获取vuex中的getters中的数据

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文