Angularjs Type error:Cannot read property 'GET()' of undefined

Angularjs Type error:Cannot read property 'GET()' of undefined

在下面的代码中我得到一个类型错误 Type error:Cannot read property 'GET()' of undefined阿米们哪里做错了

服务

MyApp.factory('Myops', function($resource) {
    return $resource('/projects/:ID/releases/', {
        ID: "@ID"
    }, {
        "update": {
            method: "PUT"
        },
        "create": {
            method: "POST"
        },
        "get": {
            method: "GET"
        }
    });
});

控制器

MyApp.controller("psCtrls", ['$scope', 'Myops', function($scope, Myops) {
    myops = Myops.GET()
    console.log(myops);

}]);

更新 1:

包含我的操作后,这是错误

 Error:[$injector:unpr ] Unknown provider :$resource provider<-$resource<-Myops

您需要包含您的 Myops 服务,如下所示:

MyApp.controller("psCtrls",['$scope', 'Myops',function($scope,Myops)
{
    myops = Myops.GET()
     console.log(myops);
}]);

根据您更新的问题:您的申请中似乎没有包含 ngResource,它没有随 AngularJs 一起提供。所以,你需要手动包含它:

<script src="angular-resource.js">

使用:

  • Google CDN 例如//ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/angular-resource.js
  • 凉亭 bower install angular-resource

然后,将其注入您的应用程序:

angular.module('app', ['ngResource']);

未注入 Myops。改成

...
MyApp.controller("psCtrls",['$scope', 'Myops', function($scope,Myops)
...

存在 Myops 依赖项未正确注入

MyApp.controller("psCtrls",['$scope', 'Myops', function($scope,Myops){

}]);

更新 1:

包括angular-resource.js

然后在您的应用中包含所需的依赖项,以便使用 $resource 服务

var app = angular.module('myApp',['ngResouce']);

更新 2

您的资源获取调用应该是 .get 而不是 .GET()

Myops.get().then(function(data){
   console.log(data);
})