我是依赖注射的新手,遇到过一些我无法理解的事情。我有一个常量位于一个单独的文件中,需要将它注入到我的指令的同一个文件中,以便在指令的控制器中使用。我不确定应该在哪里注入常数:在控制器或指令中?这是我的文件类似的一些示例代码。
第一档:
angular.module('utilities')
.constant('myOpts', {
...stuff
});
第二档:
angular.module('main')
.directive('myDirective', function() {
return {
controller: function () {
... need the constant in here
}
}
});
谢谢!
答案 0 :(得分:2)
您需要将其注入.directive
函数。
你可以通过在函数语句周围放置方括号(这样你传递的是数组而不是单个函数),然后在函数前添加常量的字符串表示,然后添加它作为你职能的一个参数。
模块文件:
angular.module('utilities')
.constant('myOpts', {
'stuff1': 'Stuff 1 Value',
'stuff2': 'Stuff 2 Value'
});
指令文件:
angular.module('main')
.directive('myDirective', ['myOpts', function(myOpts) {
return {
controller: function () {
alert(myOpts.stuff1);
alert(myOpts.stuff2);
}
}
}]);