AngularJS App中的未知服务提供商

时间:2016-07-20 01:31:41

标签: angularjs angularjs-service

在我的angularJS应用程序中,我已经如下配置了我的应用程序。我已经定义了一个模块 services 来定义我的所有工厂方法。

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

在另一个文件中,我在 services 模块中定义了一个工厂,但是当我运行应用程序时出现以下错误:

  

未知提供者:myServicesProvider< - myServices< - myCtrl

angular.module('services').factory('myServices', function ($http) {
  return {
    createPet(pet) {
      return $http.post('/pets', pet);
    }

  };
});

angular.module('myApp')
  .controller('myCtrl', myServices) {

  });

我检查了stackoverflow中的很多帖子,我想我已经以正确的方式完成了定义。任何人都有线索?

1 个答案:

答案 0 :(得分:0)

您的工厂中的括号错误,

这是工作代码:

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
       }];
     }
   }    

});

工作Application