vue中mapGetters和...mapGetters

  

根据文档介绍 https://vuex.vuejs.org/zh-cn/... 和看了 http://www.imooc.com/article/...

  export default {
    computed: {
      ...mapGetters([        'singer'      ]),
    }
    ....
  }  

最终会转换成

  export default {
    computed: {
      singer() {
        return this.$store.state.singer
      }
    }
    ...
  }  

扩展运算符...可以将数组转换成参数序列,但是这个地方是在函数前面使用了,根据源码mapGetters函数返回的这个对象。
所以不太明白

 

 

vuex.common.js里面定义的mapGetters:

var mapGetters = normalizeNamespace(function (namespace, getters) {
var res = {};
normalizeMap(getters).forEach(function (ref) {

var key = ref.key;
var val = ref.val;

val = namespace + val;
res[key] = function mappedGetter () {
  if (namespace && !getModuleByNamespace(this.$store, 'mapGetters', namespace)) {
    return
  }
  if (process.env.NODE_ENV !== 'production' && !(val in this.$store.getters)) {
    console.error(("[vuex] unknown getter: " + val));
    return
  }
  return this.$store.getters[val]
};
// mark vuex getter for devtools
res[key].vuex = true;

});
return res
});

 

参考文档: https://www.cnblogs.com/websmile/p/8328138.html

 
 
 
posted @   归一山人  阅读(17096)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示