【发布时间】:2016-04-29 15:05:41
【问题描述】:
我使用过一些框架,甚至为我自己的目的编写了一些库。我现在正在实现 AngularJs 路由器...并再次查看了 Angular 的 DI:
- [...字符串,函数]
-
function.$inject
长期以来,我一直在使用第一种语法。现在在测试我的路由器时,我想看看两种语法是否不同以及如何处理的行为,但是......
第一手
module.controller(function SampleController()
{
});
// Since it's and `invokelater...` function which is called right away,
SampleController.$inject = [/** my component dependencies **/]
当我面对时看到我的脸:
ReferenceError: SampleController 未定义
另一只手
我觉得写不干净:
function SampleController()
{
}
SampleController.$inject = [];
moddule.$inject = [];
终于
我知道这行不通。 为什么? - 这是我的问题。
为什么?
我们被告知module、class、method/functions、一些for 循环、if...else 创建新范围。
我从来没有读过类似的东西:
函数的参数在它们自己的范围内进行评估
请告诉我
谢谢!
【问题讨论】:
标签: javascript ecmascript-6 ecmascript-5