【发布时间】:2016-02-03 06:03:27
【问题描述】:
我正在尝试将我的 Angular 代码分离到工厂中,这样我的控制器就不会变得无法维护。具体来说,在我的工厂中,我将存放将在多个控制器之间共享的代码。
问题是,无论我做什么,我似乎都无法将工厂注入到我的控制器中。
这是我的工厂
angular.module('my-app')
.factory('Game', function() {
var colors = ['#FF0000', '#660000', '#FF3300', '#FF9900', '#003300',
'#000033', '#660033', '#FF0033', '#383838'];
});
这是我的控制器
angular.module('my-app')
.controller('gamesController', ['$scope', '$interval', 'Game',
function($scope, $interval, Game) {
这是我的装载顺序
<script src='scripts/app.js'></script>
<script src='scripts/services/game.js'></script>
<script src='scripts/controllers/navController.js'></script>
<script src='scripts/controllers/gamesController.js'></script>
我收到undefined provider,但我不知道问题出在哪里。
【问题讨论】:
-
那是因为你的工厂没有任何返回值。试试
return { colors: ['#FF0000', '#660000', '#FF3300', '#FF9900', '#003300','#000033', '#660033', '#FF0033', '#383838'];} -
工厂必须有退货声明?我对此一无所知。将对此进行测试
标签: angularjs dependency-injection controller factory