次の問題: たとえば、次のようなオブジェクトがあるとします。
$scope.Something = { 'a' : { object... }, 'b' : { another object... } }
この Something-object も、次のようにビューにレンダリングされます。
<div ng-repeat="s in Something">{{ Something[s].someProperty }}</div>
ユーザーはSomething.aを編集したいと考えています。このために、私たちは彼に形を見せます。フォームが表示される前に、現在のSomething.aをコピーとして保存します。
$scope.copyForUndo= angular.copy($scope.Something.a);
ここで、ユーザーが [キャンセル] をクリックすると、次のようになります。
$scope.Something.a = angular.copy($scope.copyForUndo);
しかし、それ以来、協会は消えているようです。ユーザーが現在、Something.a にどのような変更を加えても、ビューは更新されません。
なんで?
オブジェクトの等価性が何であるかは知っています (たとえば、{ object1: true } != {object1 : true} ですが、それでも機能しない理由を理解できません。