javascript - 在 Vue.js 中与 ES6 中的函数结合使用的扩展运算符
问题描述
我刚刚浏览了 habitica 代码(一个 vue.js 应用程序),并遇到了下面的传播运算符用法,例如HERE。在计算内部,您有以下内容:
computed: {
...mapState({
user: 'user.data',
castingSpell: 'spellOptions.castingSpell',
isRunningYesterdailies: 'isRunningYesterdailies',
}),
}
现在我似乎从来没有将扩展运算符与函数结合使用,不确定这里发生了什么,发生mapState
在另一个文件中的函数,看起来像这样:
export function mapState (states) {
const res = {};
normalizeMap(states).forEach(({ key, val }) => {
res[key] = function mappedState () {
return typeof val === 'function' ?
val.call(this, this.$store.state, this.$store.getters) :
get(this.$store.state, val);
};
});
return res;
}
Array
当与 an或 an一起使用时,我理解扩展运算符Object
,但是函数在这里到底发生了什么?
解决方案
您的函数正在返回一个Object
正在传播的内容,
你可以通过一个简单的例子来理解
- 这
func
是一个基于传递给它的值创建对象的函数 - 在
me
对象内部,我有一个名为的属性info
,我想将其设置为对象,因此我只需调用func
并name and age
传播
let func = (name,age)=> ({name,age})
let me = {
info: {...func('code maniac', 24)}
}
console.log(me)
推荐阅读
- processing - 如何在重复循环模式中使用自定义形状?
- r - R:as.Date 不解析每个月的日期 30 和 31
- php - php会话没有从数据库中获取ID
- json - Powershell:将名称和值数组高性能转换为可解析格式 - 我怎样才能使它更快
- python-3.x - 如何减去长度未知的列表中的相邻项目(python)?
- typescript - 尝试在 typescript 项目中使用 recharts 时出错
- android - 从 Android Lollipop 上的字符串解析日期
- reactjs - React-hook-form:递归注入 props 到嵌套的自定义字段
- http - Google OAuth api 白名单不适用于本地主机和公共 IP
- javascript - discord.js 的 fn.bind 错误代码是什么?