Javascript 更新资源调用内的值';的成功处理程序不反映在UI中

Javascript 更新资源调用内的值';的成功处理程序不反映在UI中,javascript,angularjs,angular-resource,Javascript,Angularjs,Angular Resource,我正在尝试在成功调用API端点时更新范围内的值。 以前,当用户单击“保存”时,我就更新了这些值。但是,这并不理想,因为即使API调用因某种原因失败,UI仍会反映“新”值,直到页面刷新为止 以下是我的控制器中的代码,它可以工作,但是更新了id“太早了”: vm.setId = function(user) { var _onSuccess = function() { alertService.success('Set ' + user.email + ' ID to ' + user

我正在尝试在成功调用API端点时更新范围内的值。 以前,当用户单击“保存”时,我就更新了这些值。但是,这并不理想,因为即使API调用因某种原因失败,UI仍会反映“新”值,直到页面刷新为止

以下是我的控制器中的代码,它可以工作,但是更新了
id
“太早了”:

vm.setId = function(user) {
  var _onSuccess = function() {
    alertService.success('Set ' + user.email + ' ID to ' + user.edit.id.value);
  };
  var _onError = function(err) {
    alertService.danger(err.data.message);
  };

  user.id = user.edit.id.value;

  usersService.setId({
    email: user.email,
    id: user.edit.id.value
  }, {}).$promise.then(
    _onSuccess,
    _onError
  );
};
这是我试图使用的代码,但成功保存时,
id
不会更新为新值:

vm.setId = function(user) {
  var _onSuccess = function() {
    user.id = user.edit.id.value;
    alertService.success('Set ' + user.email + ' ID to ' + user.edit.id.value);
  };
  var _onError = function(err) {
    alertService.danger(err.data.message);
  };

  usersService.setId({
    email: user.email,
    id: user.edit.id.value
  }, {}).$promise.then(
    _onSuccess,
    _onError
  );
};

抓住了我的问题。我在模板中使用了单向数据绑定,
{{{::user.id}
。将此更改回双向绑定,
{{{user.id}
,修复了我的问题