我快要疯了。
我有 3 个文件: 应用程序.js, app.services.provider.js, 管理员.js
在应用程序中.js我定义了我的模块:
(function() {
angular.module('myApp', ['ngRoute']).config(function ($routeProvider) {
$routeProvider
.when("/admin", {
templateUrl : "Admin.htm",
controller: "AdminController"
}).otherwise( {redirectTo: '/'} ) ;
})
})();
现在在 app.services.provider 中.js我定义了一个工厂:
(function() {
angular.module("myApp").factory('appServicesProvider',function($scope, $http ) {
function someFunction(){
}
return{someFunction:someFunction}
});
})();
在管理员中.js我有我的控制器:
(function() {
angular.module("myApp")
.controller("AdminController",function($scope, $http, appServicesProvider) {
});
})();
现在我相信我在索引中以正确的顺序包含 JS.html:
<script src="js/app.js"></script>
<script src="js/app.services.provider.js"></script>
<script src="js/admin.js"></script>
然而,当我尝试运行代码时,我得到异常:
angular.min.js:122 Error: [$injector:unpr] http://errors.angularjs.org/1.6.1/$injector/unpr?p0=<ng-view class="ng-scope">copeProvider%20%3C-%20%24scope%20%3C-%20appServicesProvide
而且我似乎无法理解何时出错
我尝试了几件事:
- 我尝试在
head
和标签末尾都包含脚本body
- 我尝试删除
(function() {})();
- 我尝试在变量中引用我的模块,即
var app = angular.module(...)
并在文件中使用该变量 - 我尝试像这样注入"应用程序服务":
angular.module("myApp") .controller("AdminController",["$scope","$http","appServicesProvider",function($scope, $http, appServicesProvider) {...
它仍然显示该死的错误。
任何人都知道可能出了什么问题?
感谢您的帮助, 埃里克
此错误是因为您尝试将$scope
注入到服务中。服务没有$scope
。