Angular $资源无法正常工作

时间:2014-06-16 19:49:30

标签: angularjs

我正在尝试构建我的第一个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时,我在做错了吗?

1 个答案:

答案 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)