如何加入两种形式(一种是另一种形式的数组)
How to join two forms (one is array inside of another)
我在加入这两个时遇到问题
let tasks = [];
this.tasks.map(it => {
tasks.push(
{
'prop1': it['prop1'],
'prop2': it['prop2'],
'prop3': it['prop3'],
}
);
});
let projects = {
'title': this.projectForm.value['title'],
'state': this.projectForm.value['state'],
'comment': this.projectForm.value['comment'],
'other':
// here I want to have the whole "tasks" array with "prop1", "prop2", "prop3".
};
如何将任务的整个响应抛给项目->其他?
当我 console.log 任务时,我得到了很好的回应,但项目只是没有 "other" 道具,这使我的表格无效。
表单是用 Angular FormBuilder 制作的。
(只是让你知道在这种情况下使用“:”不起作用 - 数组未分配并且 属性 "other" 在控制台等中被完全跳过)
使用传播运算符
这将满足您的需求
let otherObject= {...tasks};
let projects= {'other': {...otherObject}, 'title': this.projectForm.value['title'],
'state': this.projectForm.value['state'],
'comment': this.projectForm.value['comment']
}
注意展开运算符以'...'开头,是ES6特性
我正在添加一个使用浏览器控制台 (chrome) 的示例,这应该有助于进一步阐明它。
所以一位朋友在评论中提出了一个关于用数组代替单个对象的观点
以下是您可以参考的内容 ;) 尽情享受吧!!
添加另一种使用展开运算符的方法:
你可以使用简单的等于 :
来连接两个对象是打字稿,也是在线环境你可以看到连接两个对象,(你的例子):
https://stackblitz.com/edit/angular-cdjv2k
我在加入这两个时遇到问题
let tasks = [];
this.tasks.map(it => {
tasks.push(
{
'prop1': it['prop1'],
'prop2': it['prop2'],
'prop3': it['prop3'],
}
);
});
let projects = {
'title': this.projectForm.value['title'],
'state': this.projectForm.value['state'],
'comment': this.projectForm.value['comment'],
'other':
// here I want to have the whole "tasks" array with "prop1", "prop2", "prop3".
};
如何将任务的整个响应抛给项目->其他? 当我 console.log 任务时,我得到了很好的回应,但项目只是没有 "other" 道具,这使我的表格无效。
表单是用 Angular FormBuilder 制作的。
(只是让你知道在这种情况下使用“:”不起作用 - 数组未分配并且 属性 "other" 在控制台等中被完全跳过)
使用传播运算符
这将满足您的需求
let otherObject= {...tasks};
let projects= {'other': {...otherObject}, 'title': this.projectForm.value['title'],
'state': this.projectForm.value['state'],
'comment': this.projectForm.value['comment']
}
注意展开运算符以'...'开头,是ES6特性
我正在添加一个使用浏览器控制台 (chrome) 的示例,这应该有助于进一步阐明它。
所以一位朋友在评论中提出了一个关于用数组代替单个对象的观点 以下是您可以参考的内容 ;) 尽情享受吧!!
添加另一种使用展开运算符的方法:
你可以使用简单的等于 :
来连接两个对象是打字稿,也是在线环境你可以看到连接两个对象,(你的例子):
https://stackblitz.com/edit/angular-cdjv2k