我是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();
}
});
答案 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"}
}
});
}]);