Это никак не связано с AngularJS. Это Javascript, и это ожидаемое поведение.
Например, если вы откроете консоль браузера (F12-> Консоль) прямо сейчас и запустите это:
var foo = {x:1};
var copy=foo;
copy.x=2;
console.log(foo.x);
вы увидите {x:2}
распечатано.
Это то же поведение, которое вы ожидали бы для любой ссылки на объект в Javascript, C #, Java и т. Д. Поскольку вы делаете ссылку , а не копию, любые изменения в ссылке фактически являются изменениями в оригинал.
Самый простой способ решить эту проблему в вашем случае - скопировать интересующие вас значения из рассматриваемого элемента в совершенно отдельный объект и изменить , который копирует.
, например
var recruitingCallListOutput = {
name: $scope.RecrutingCallingList.Recruit.name,
age:$scope.RecrutingCallingList.Recruit.age,
modifiedSomething: $scope.RecrutingCallingList.Recruit.something + 42 //or whatever modifications you need to make
...and so on.
};
Существуют способы "клонировать" объект в Javascript , но если ваш объект действительно не очень сложный, я был бы осторожен. И подумайте, если вам действительно нужно все свойств исходного объекта в любом случае, возможно, вам нужно только отправить некоторые из них на ваш бэкэнд.