我是依赖注入(inject)的新手,遇到了一些我不太明白的事情。我有一个常量位于单独的文件中,需要将其注入(inject)到指令的同一文件中,以便在指令的 Controller 中使用。我不确定应该在哪里注入(inject)常量:在 Controller 中还是在指令中?这是我的文件的一些示例代码。
第一个文件:
angular.module('utilities')
.constant('myOpts', {
...stuff
});
第二个文件:
angular.module('main')
.directive('myDirective', function() {
return {
controller: function () {
... need the constant in here
}
}
});
谢谢!
最佳答案
您需要将其注入(inject)到.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);
}
}
}]);
关于angularjs - 如何将常量注入(inject)指令的 Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30904853/