埋め込みオブジェクトの配列を持つ単純なオブジェクトを作成する必要があるときに、オブジェクトへの参照をコピーしないようにする方法はあるのでしょうか。状況は次のとおりです。JSON を受け入れ、いくつかのロジックを適用してオブジェクトを格納するサーバーがあります。 DB。私のフォームがチームをDBに保存するためのものだとしましょう。サーバーは team を 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*/
}