无法访问Angular常量

时间:2016-11-19 19:47:37

标签: javascript angularjs

我正试图通过以下代码访问我的角.constant

angular
    .module('coreApp')
    .constant('MY_CONSTANTS', {
        myConstant_1: 'My constant'
    })

我的控制器:

.controller('MyController', ['$log', '$rootScope', '$location', MY_CONSTANTS, MyController]);

function MyController($log, $rootScope, $location, MY_CONSTANTS, MyController) {
    $log.debug(myConstant_1);
}

但我无法获取值并从常量输出值。我的代码出了什么问题?

2 个答案:

答案 0 :(得分:0)

在数组内指定依赖项时,必须将依赖项包装在single quote / double quote内。在这里,您缺少引用MY_CONSTANTS

然后在DI Array的末尾,它应该是你的控制器功能ArticleController而不是MyController

.controller('MyController', 
   ['$log', '$rootScope', '$location', 'MY_CONSTANTS', ArticleController]);
                                      //^^^^^ change here..
function ArticleController($log, $rootScope, $location, MY_CONSTANTS) {
    $log.debug(MY_CONSTANTS.myConstant_1);
}

答案 1 :(得分:0)

您需要使用MY_CONSTANTS.myConstant_1而非myConstant_1。您的代码将为$log.debug(MY_CONSTANTS.myConstant_1); 而且你也没有将MY_CONSTANTS包装成引号。