Angularjs Constant不使用控制器内联注释

时间:2017-11-22 02:57:28

标签: angularjs constants

我创建了一个常量但是当我向控制器添加[]时它显示未定义。当我删除它时,常量工作。我错过了什么吗?

app.constant('RESOURCES', (function() {
  var resource = '';
  return {
    USERS_DOMAIN: resource,
    API: resource + 'q',
    BASIC_INFO: resource + '/api/info'
  }
})());

- 在此控制器中调用常量时,它不起作用:

 app.controller('SampleCtr', ['$scope','RESOURCES', function($scope, RESOURCES){
   console.log(RESOURCES) // undefined
}]);

- 下面这个有效,因为我删除了[],而令人遗憾的消息是下面的方法在缩小时不起作用。

app.controller('SampleCtr', function($scope, RESOURCES){
   console.log(RESOURCES) // undefined
});

1 个答案:

答案 0 :(得分:1)

您可以使用ng-annotate并按照以下方式编写第二种方法:

app.controller('SampleCtr', SampleCtr);

/* @ngInject */

function SampleCtr($scope, RESOURCES){ 
    console.log(RESOURCES);
});

希望它有所帮助。