我正在尝试构建我的第一个Angular $resource
以使我的应用程序能够访问CRUD操作,但由于某种原因,当我尝试执行查询时,未定义为资源配置的操作。
这是我的控制器逻辑:
app.controller('MainCtrl', function ($scope, $http, $resource) {
var Alert = $resource('/WebApi/Alert/:type/:id',
{
systemUpdate: { method: 'GET' },
autoArchive: { method: 'POST', url: '/WebApi/Alert/Template/:type' }
});
$scope.systemUpdate = function (alert) {
var data = Alert.systemUpdate({ type: alert.Status, id: alert.AlertId }); // THIS LINE FAILS
console.log(data);
}
我收到一条错误消息,指出没有定义Alert.systemUpdate。在配置$resource
时,我在做错了吗?
答案 0 :(得分:1)
将警报的定义更改为
var Alert = $resource('/WebApi/Alert/:type/:id',
{},
{
systemUpdate: { method: 'GET' },
autoArchive: { method: 'POST', url: '/WebApi/Alert/Template/:type' }
});
正如$resource的文档中所提到的,参数的顺序如下:
1)Url
2)网址参数的默认值,因为您没有任何默认值,您必须提供一个空对象
3)动作(systemUpdate& autoArchive here)