你好,我是角色的新手,我正在尝试建立一个简单的程序,但我得到一个错误。
控制器:
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;
答案 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个不同的模块。将一个模块注入另一个模块或者只使用模块。
将服务模块注入myApp模块。
angular.module('myApp', ['MyService
']
或者,
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";
}
};
});