AngularJS $resource class 与实例方法

AngularJS $resource class vs. instance methods

我为"Dashboard"定义了一个工厂:

myApp.factory('Dashboard', ['$resource', function($resource) {
  return $resource("/dashboards/:id", { id: "@id" },
    {
      'create':  { method: 'POST' },
      'index':   { method: 'GET', isArray: true },
      'show':    { method: 'GET', isArray: false },
      'update':  { method: 'PUT' },
      'destroy': { method: 'DELETE' }
    }
  );
}]);

为了更新仪表板,我需要使用 class 方法

$scope.dashboard = Dashboard.get({ id: 1234 });
Dashboard.update({ id: $scope.dashboard.id }, $scope.dashboard);

有没有一种方法可以将其称为特定仪表板的实例方法

$scope.dashboard = Dashboard.get({id: 1234 });
$scope.dashboard.update();

查看 docs

大约一半:

The action methods on the class object or instance object can be invoked with the following parameters:

HTTP GET "class" actions: Resource.action([parameters], [success], [error])

non-GET "class" actions: Resource.action([parameters], postData, [success], [error])

non-GET instance actions: instance.$action([parameters], [success], [error])

以及他们页面中的示例:

var User = $resource('/user/:userId', {userId:'@id'});
var user = User.get({userId:123}, function() {
  user.abc = true;
  user.$save();
});