angularjs得到喷油器的错误

时间:2016-09-13 08:33:42

标签: angularjs

你好,我是角色的新手,我正在尝试建立一个简单的程序,但我得到一个错误。

控制器:

angular.module('myApp', []).controller('myCtrl', function ($scope ,HandleService) {

    $scope.AddCar = function () {

        HandleService.GetAll().then(function (result) {
            alert(result);
        });
    }

});

服务

angular.module('MyService', []).factory('HandleService',  function () {

    return {

        GetAll: function(){


            return "bbb";
        }
    };

});

的index.html

<script src="libs/angular/angular.js"></script>
<script src='app.js'></script>

<div ng-app="myApp" ng-controller="myCtrl">


    <button ng-click="AddCar()" >Save</button>




</div>

我在角度尝试这个,我得到一个错误:

&#34; angular.js:9778错误:[$ injector:unpr]未知提供程序:HandleServiceProvider&lt; - HandleService http://errors.angularjs.org/1.2.16/ $注射器/ unpr?P0 = HandleServiceProvider%20%3 C-%20HandleService     在angular.js:78     在angular.js:3705     at Object.getService [as get](angular.js:3832)     在angular.js:3710     at getService(angular.js:3832)     在invoke(angular.js:3859)     在Object.instantiate(angular.js:3880)     在angular.js:7134     在angular.js:6538     at forEach(angular.js:330)&#34;

2 个答案:

答案 0 :(得分:0)

您的服务位于一个单独的世界中。您需要从myApp模块声明对MyService模块的依赖。

angular.module('myApp', ['MyService']).controller('myCtrl', function ($scope, HandleService) {
    $scope.AddCar = function () {
        var result = HandleService.GetAll();
        console.log(result);
    }
});


angular.module('MyService', []).factory('HandleService', function () {
    return {
        GetAll: function () {
            return "bbb";
        }
    };
});

答案 1 :(得分:0)

错误是因为您正在创建3个不同的模块。将一个模块注入另一个模块或者只使用模块。

  1. 将服务模块注入myApp模块。

    angular.module('myApp', ['MyService']

  2. 或者,

    angular.module('myApp', []).controller('myCtrl', function ($scope ,HandleService) {
    
       $scope.AddCar = function () {
    
            HandleService.GetAll().then(function (result) {
                alert(result);
            });
       }
    
    });
    
    
    angular.module("myApp").factory('HandleService',  function () {
    
      return {
    
          GetAll: function(){
    
    
              return "bbb";
          }
      };
    
    });