Deep copying objects in angular?

Solution 1:

Your question says you want to "avoid deep copy", but I'm not sure that's accurate. It sounds like you just want to use angular.copy, because you need to create a copy of the team member and add that to the array:

$scope.addTeamMember = function(teamMember) {
   var newTeamMember = angular.copy(teamMember);
   $scope.team.teamMembers.push(newTeamMember);
};

Solution 2:

This is the best documentation available

https://docs.angularjs.org/api/ng/function/angular.copy

there is a live example as well on the page which is self illustrative.