在下面的代码中,我得到一个类型错误
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:
包含My ops后,这是错误
Error:[$injector:unpr ] Unknown provider :$resource provider<-$resource<-Myops
答案 0 :(得分:3)
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);
})
答案 1 :(得分:2)
您需要将Myops
服务包括在内:
MyApp.controller("psCtrls",['$scope', 'Myops',function($scope,Myops)
{
myops = Myops.GET()
console.log(myops);
}]);
根据您更新的问题:您的应用程序中似乎没有包含ngResource
,而AngularJs并未附带此问题。因此,您需要手动包含它:
<script src="angular-resource.js">
使用:
//ajax.googleapis.com/ajax/libs/angularjs/X.Y.Z/angular-resource.js
bower install angular-resource
然后,将其注入您的应用中:
angular.module('app', ['ngResource']);
答案 2 :(得分:1)
Myops没有被注射。将其更改为
...
MyApp.controller("psCtrls",['$scope', 'Myops', function($scope,Myops)
...