Интересно, есть ли во избежание копирования ссылок на объекты, когда вам нужно создать простой объект с массивом встроенных объектов. Ситуация такова: у меня есть сервер, который принимает JSON и применяет некоторую логику, а затем сохраняет объект в БД. скажем, моя форма предназначена для сохранения команд в БД. Сервер принимает команду как 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*/
}