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

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

回答:

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的数组扩展运算符

暂无评论

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注