将工厂注入控制器在角度 1.6 中不起作用



我快要疯了。

我有 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

相关内容

  • 没有找到相关文章

最新更新