gpt4 book ai didi

javascript - 将工厂注入(inject) Controller 在 Angular 1.6 中不起作用

转载 作者:行者123 更新时间:2023-12-01 03:16:55 24 4
gpt4 key购买 nike

我快被这个搞疯了。

我有3个文件:应用程序.js,应用程序.services.provider.js,管理.js

在 app.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}

});

})();

在 admin.js 中我有我的 Controller :

(function() {

angular.module("myApp")
.controller("AdminController",function($scope, $http, appServicesProvider) {

});

})();

现在我相信我在我的index.html中以正确的顺序包含了JS:

<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

我似乎无法理解何时出错

我尝试了几件事:

  • 我尝试将脚本包含在 headbody 标记的末尾
  • 我尝试删除 (function() {})();
  • 我尝试在 var 中引用我的模块,即 var app = angular.module(...) 并在文件中使用该变量
  • 我尝试像这样注入(inject)“AppServices”:
    Angular 模块(“myApp”)
    .controller("AdminController",["$scope","$http","appServicesProvider",function($scope, $http, appServicesProvider) {...

它仍然显示该死的错误。

有人知道可能出了什么问题吗?

感谢您的帮助,埃里克

最佳答案

该错误是因为您尝试将 $scope 注入(inject)您的服务。服务没有 $scope

关于javascript - 将工厂注入(inject) Controller 在 Angular 1.6 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45493560/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com