AngularJS 应用中的未知服务提供商
Unknown Service Provider in AngularJS App
在我的 angularJS 应用程序中,我已按如下方式配置我的应用程序。我已经定义了一个模块 services 来定义我所有的工厂方法。
angular.module("services", []);
var app = angular
.module('myApp', [
'services'
]);
在另一个文件中,我在 services 模块中定义了一个工厂,但是当我 运行 应用程序时,出现以下错误:
Unknown provider: myServicesProvider <- myServices <- myCtrl
angular.module('services').factory('myServices', function ($http) {
return {
createPet(pet) {
return $http.post('/pets', pet);
}
};
});
angular.module('myApp')
.controller('myCtrl', myServices) {
});
我检查了 Whosebug 中的很多帖子,我认为我已经以正确的方式完成了定义。有人知道吗?
你在你的工厂中放错了括号,
这是工作代码:
angular.module("services", []);
var app = angular
.module('myApp', [
'services'
]);
app.controller('mainController', function($scope, myServices){
$scope.items = myServices.query();
$scope.bill = {};
$scope.totalBeforeDiscount = {};
$scope.totalPrice = function(){
var total = 0;
for (var i = 0; i <= $scope.items.length - 1; i++) {
total += $scope.items[i].price * $scope.items[i].quantity;
}
$scope.totalBeforeDiscount =total;
}
})
angular.module('services').factory('myServices', function ($http) {
var items = {};
return {
query: function() {
return [{
title: 'Paint pots',
quantity: 8,
price: 3.95
}, {
title: 'Polka dots',
quantity: 17,
price: 12.95
}, {
title: 'Pebbles',
quantity: 5,
price: 6.95
}];
}
}
});
在我的 angularJS 应用程序中,我已按如下方式配置我的应用程序。我已经定义了一个模块 services 来定义我所有的工厂方法。
angular.module("services", []);
var app = angular
.module('myApp', [
'services'
]);
在另一个文件中,我在 services 模块中定义了一个工厂,但是当我 运行 应用程序时,出现以下错误:
Unknown provider: myServicesProvider <- myServices <- myCtrl
angular.module('services').factory('myServices', function ($http) {
return {
createPet(pet) {
return $http.post('/pets', pet);
}
};
});
angular.module('myApp')
.controller('myCtrl', myServices) {
});
我检查了 Whosebug 中的很多帖子,我认为我已经以正确的方式完成了定义。有人知道吗?
你在你的工厂中放错了括号,
这是工作代码:
angular.module("services", []);
var app = angular
.module('myApp', [
'services'
]);
app.controller('mainController', function($scope, myServices){
$scope.items = myServices.query();
$scope.bill = {};
$scope.totalBeforeDiscount = {};
$scope.totalPrice = function(){
var total = 0;
for (var i = 0; i <= $scope.items.length - 1; i++) {
total += $scope.items[i].price * $scope.items[i].quantity;
}
$scope.totalBeforeDiscount =total;
}
})
angular.module('services').factory('myServices', function ($http) {
var items = {};
return {
query: function() {
return [{
title: 'Paint pots',
quantity: 8,
price: 3.95
}, {
title: 'Polka dots',
quantity: 17,
price: 12.95
}, {
title: 'Pebbles',
quantity: 5,
price: 6.95
}];
}
}
});