AngularJS $资源类与实例方法

时间:2015-01-25 21:12:48

标签: angularjs angularjs-resource angularjs-factory

我为“仪表板”定义了一个工厂:

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' }
    }
  );
}]);

要更新信息中心,我需要使用类方法

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

相反,我是否可以将其称为特定信息中心的实例方法

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

1 个答案:

答案 0 :(得分:2)

查看docs

大约一半的时间:

  

可以使用以下参数调用类对象或实例对象上的操作方法:

     

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

     

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

     

非GET实例操作:实例。$ action([参数],[成功],[错误])

他们页面上的一个例子:

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