在角度控制器中使用未使用的依赖项是不好的做法?

时间:2014-05-08 14:00:30

标签: angularjs dependency-injection

我正在使用angular来编写应用程序。有时我忘记从控制器中删除未使用的依赖项。它会以任何方式影响性能吗?

1 个答案:

答案 0 :(得分:22)

这将是额外的开销,但它在AngularJS方面非常非常小[1]。如果你的注入依赖在它的构造函数中做了很多(比如:加载两秒)你的未使用的依赖是第一次使用它,它将影响性能(那两秒)。如果依赖关系稍后会在应用程序中加载,那么它只需要在这里丢失两秒并在那里获得两秒钟。

[1]:https://github.com/angular/angular.js/blob/736b6c7fed79c8305786bbb86d39dd7af891a162/src/auto/injector.js#L758是有问题的代码。它将具有您无关的依赖项,这些依赖项将被加载然后缓存。如果它已经在缓存中(或者稍后会在缓存中),则性能命中非常小。但是,你的代码中的视觉混乱!