vue这个三个点(...mapGetters)为什么要把computed转换成数组

<script>
  import { mapGetters } from 'vuex'
  export default {
       computed: {
        ...mapGetters({    //不理解为什么要把这个computed的内容转成数组
          goods_list: 'goods_list',
          userInfo:'userInfo'
        })
    },  }
</script>
阅读 15.2k
4 个回答
mapGetters({ 
  goods_list: 'goods_list',
  userInfo:'userInfo'
});

这种写法跟下面的写法是等价的。为了写的更简单一目了然

当映射的计算属性的名称与 state 的子节点名称相同时,我们也可以给 mapState 传一个字符串数组。

mapGetters([
  // 映射 this.goods_list 为 store.getters.goods_list
  'goods_list',
  // 映射 this.userInfo 为 store.getters.userInfo
  'userInfo'
])

... 是es6的数组扩展运算符,可以同时写多个,例如:

computed: {
    ...mapGetters([ 'goods_list','userInfo']),
    ...mapGetters({
        // 映射 `this.doneCount` 为 `store.getters.doneTodosCount`
        doneCount: 'doneTodosCount'
    })
}

转换成对象,mapGetters 返回的是对象。
...是把 mapGetters 返回的对象解构到 computed 对象中。

应该是转换成对象

... 是es6的数组扩展运算符

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题