我收到此错误,我尝试了不同的方法,但仍然没有找到任何解决方案 这是我的代码:
app.js
angular.module('myApp', [ 'myApp.services','myApp.filters', 'myApp.directives',
'myApp.controllers']).
config(['$routeProvider', function($routeProvider) {
$routeProvider.when('/Receive', {templateUrl: 'partials/partial1.html', controller: 'ReceiveCtrl'});
$routeProvider.when('/Pending', {templateUrl: 'partials/partial2.html', controller: 'PendingCtrl'});
$routeProvider.when('/ResumePending', {templateUrl: 'partials/partial3.html', controller: 'PendingCtrl'});
$routeProvider.otherwise({redirectTo: '/view1'});
}]);
services.js
angular.module('myApp.services',[])
.service('myservice',function($resource)
{
var pendings = $resource('myUrl2', {methode: 'GET', isArray:true});
var items;
var myPo='rawad al bo3bo3';
var quantity;
var barcode;
return{
getItems: function(){
items =$resource('myUrl', {methode: 'GET', isArray:true});
return items ;
},
setQty: function(qty){
quantity=qty;
},
deletePO : function(id){
},
suspend:function(id){
//URL needed
},
}).
value('version', '0.1');
这是我的控制者:
angular.module('myApp.controllers', []).controller('ReceiveCtrl', ['$scope','myservice', function ($scope,myservice) {
$scope.po='rawad';
alert ('WoW!! It is '+myservice.getPO);
$scope.quantity='';
$scope.barcode='';
$scope.addProduct= function(){
myservice.setQty($scope.quantity);
myservice.setBc($scope.barcode);
myservice.addToPliste;
};
}]);
在控制器中我无法访问来自我的服务的变量...因此警报消息将无效并且我收到此错误
错误:未知提供者:myservicesProvider< - myservices
答案 0 :(得分:4)
服务声明:
angular.module('myApp.services',[]).
service('myservice',function($resource)
控制器中的服务注入:
angular.module('myApp.controllers', []).
controller('ReceiveCtrl', ['$scope','myservices', ...
该服务名为myservice
,但在注入时使用myservices
。
答案 1 :(得分:1)
在您的service.js中,您已将服务命名为“服务”,而在您的控制器中,您将其称为“服务”。那是错误。将控制器中的服务更改为服务
试试这个;
在你的app.js
中angular.module('myApp', [ 'myApp.services','myApp.filters', 'myApp.directives',
'myApp.controllers', 'ngResource']).
在index.html中包含angular-resource.js
文件。这可能会解决您的问题。