我想知道当您需要创建一个具有嵌入式对象数组的简单对象时,是否可以避免复制对对象的引用。情况如下:我有一个接受 JSON 并应用一些逻辑然后将对象存储在D B。假设我的表格用于在数据库中保存团队。服务器接受团队作为 json。团队有一个 TeamMember 对象数组,我的表单有一个简单的字段来输入团队成员信息并将其添加到团队 teamMembers 数组中。现在问题来了,当我将一个团队成员添加到数组列表中并想在我输入字段时添加另一个团队成员时,添加的成员也会更改!。我知道原因
$scope.addTeamMember=function(teamMember){
$scope.team.teamMembers.push(teamMember);
}
这是因为我将相同的引用放入 teamMembers 数组中,所以我多次添加了相同的对象。为避免这种情况,我应该创建一个新的团队成员对象,复制所有 teamMember 属性并将其添加到数组中。
$scope.addTeamMember=function(teamMember){
var newTeamMember; /*<--- copy teamMember */
$scope.team.teamMembers.push(newTeamMember); /*and add newTeamMember*/
}