我正在使用 angular$resource
来angular.copy
允许用户重置表单。当用户单击保存按钮时,我调用$scope.save()
并$resource
使用$save()
. 在$save
回调内部,我替换了 master 和 model,以反映后端所做的更改,同时这样做会导致$watch
无法获取更改,直到用户手动编辑表单。
任何想法为什么?
// db.schema is a $resource
var master = db.schema.get(function() {
$scope.schema = angular.copy(master);
});
$scope.$watch('schema', function() {
// triggers when $scope.schema is changed
}, true);
$scope.save = function() {
$scope.schema.$save(function(savedSchema) {
master = new db.schema(savedSchema);
// this won't trigger the $watch, but editing the form will
$scope.schema = angular.copy(master);
});
};