リソースが変更されたかどうかを通知する関数がコントローラー内にあるため、変更がない場合にのみオブジェクトを保存するためにサーバー要求が送信されます。is clean 関数が最初に呼び出されると、正常に動作します。ng-click
ただし、イベントによってトリガーされる別の関数内で呼び出されると、別の結果が得られます。なぜこれが当てはまるのでしょうか?
サンプルコード
app.controller('EditorController', ['$scope', 'Item' function($scope, Item) {
$scope.item = Item.get({ id: 1});
$scope.original = angular.clone(item);
$scope.isClean = function() {
return angular.equals($scope.item, $scope.original);
}
$scope.isClean(); //returns true
$scope.save = function() {
if($scope.isClean()) { //is always false here
return;
}
//etc..
}
}]);