使用$ resource

时间:2015-09-30 12:25:44

标签: javascript angularjs

我是AngularJS的新手。学习它。我使用AngularJS的Web API GET方法创建了产品列表。现在我想添加一个新产品。我面临着一些问题。首先,当我在其外部点击时,我的ngDialog会自动关闭,而我不知道如何使用$resource调用保存方法。 这是我正在尝试的代码。

MyApp.controller('ProductController', function ($scope, $http, $resource, ngDialog) {
  Product = $resource('/api/Product')
  $scope.Product = Product.query();

  $scope.OpenProductForm = function () {
    ngDialog.open({ template: 'Product/AddNewTemplate.html' })
  };

  $scope.AddProduct = function () { 
    var NewProduct = $resource('/api/Product/:id', { id: '@id' });
    NewProduct.save();
  }
});

1 个答案:

答案 0 :(得分:2)

尝试将$ resource服务路由添加到工厂,并通过其方法在控制器中使用它:

MyApp.controller('ProductController', function ($scope, $http, yourResource, ngDialog) { 

  $scope.OpenProductForm = function () {
    ngDialog.open({ template: 'Product/AddNewTemplate.html' })
  };

  $scope.AddProduct = yourResource.save({id: id}, function (response) {
    $scope.id= response.id;
  };
}).factory('yourResource', ['$resource', function ($resource) {
  return $resource('/api/Product/:id', { id: '@id' } {
    'save': {
      method: 'PUT',
      headers: {"Content-Type": "application/json"}
    }
  });
}]);