Angularjs 角度故障-将工厂注入控制器

Angularjs 角度故障-将工厂注入控制器,angularjs,dependency-injection,controller,factory,Angularjs,Dependency Injection,Controller,Factory,我试图将我的角度代码划分成工厂,这样我的控制器就不会变得无法维护。具体地说,在我的工厂里,我将在多个控制器之间共享代码 问题是,无论我做什么,我似乎都无法将工厂注入控制器 这是我的工厂 angular.module('my-app') .factory('Game', function() { var colors = ['#FF0000', '#660000', '#FF3300', '#FF9900', '#003300',

我试图将我的角度代码划分成工厂,这样我的控制器就不会变得无法维护。具体地说,在我的工厂里,我将在多个控制器之间共享代码

问题是,无论我做什么,我似乎都无法将工厂注入控制器

这是我的工厂

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>


我得到了未定义的提供程序,我无法找出问题所在。

Angular Factory必须有一个返回结果

语法:module.factory('factoryName',function)

结果:将factoryName声明为可注入参数时,将向您提供通过调用传递给module.factory的函数引用返回的值

你的工厂应该是这样的:

angular.module('my-app')
    .factory('Game', function() {
        return { colors : ['#FF0000', '#660000', '#FF3300', '#FF9900', '#003300',
                      '#000033', '#660033', '#FF0033', '#383838']
               }
    });

如果您想了解更多详细信息,请访问

,因为您的工厂没有任何返回值。请尝试返回{colors:['FF0000'、'FF660000'、'FF3300'、'FF9900'、'003300'、'000033'、'FF0033'、'383838'}工厂必须有返回声明吗?我对此一无所知。这真的帮了我很大的忙。帮我省去了很多麻烦。