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

rgk*_*gan 15 dependency-injection angularjs

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

Ste*_*ers 23

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

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