gpt4 book ai didi

javascript - 这个工厂依赖问题有什么问题?

转载 作者:行者123 更新时间:2023-11-30 12:21:44 24 4
gpt4 key购买 nike

我正在使用 AngularJS。我想要一个使用第一个工厂的 Controller ,这个 Controller 使用另一个工厂。

它可以这样模式化:

MyCtrl -> Factory1 -> Factory2 

所以我尝试在 3 个不同的文件中执行(按以下顺序加载):

Factory2.js

app.factory('Factory2', function () { ... })

Factory1.js

app.factory('Factory1',['Factory2', function (Factory2) { ... })

controller.js

app.controller('MyCtrl',['$scope', 'Factory1', function ($scope, Factory1) { ... })

在我的 HTML 中我有:

<script src="services/factory2.js" type="text/javascript"></script>  
<script src="services/factory1.js" type="text/javascript"></script>
<script src="controllers/controller.js" type="text/javascript"></script>

但它不起作用,我遇到了这个错误 Unknown provider: Factory2Provider <- Factory2 <- Factory1

我的代码有什么问题?我错过了什么吗?

最佳答案

你可以重构你的代码并使用模块,这样你就不需要使用 $inject

var app = angular.module('app', ['factories', 'mymodule']);

angular.module('factories', [])
.factory('Factory2', function () { })
.factory('Factory1', ['Factory2', function (Factory2) {
return myCustomFunction = function () {
alert('todo');
}
}]);

angular.module('mymodule', [])
.controller('MyCtrl', ['$scope', 'Factory1', function ($scope, Factory1) {
$scope.text = "testing";
}])

http://jsfiddle.net/kL78rdr3/3/

关于javascript - 这个工厂依赖问题有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30774886/

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