为什么angularjs依赖数组包含该函数

时间:2015-02-17 11:01:00

标签: javascript angularjs performance

要注入依赖项,我们执行以下操作:

inject(["$scope", "$compile", function ($scope, $compile) {
  ...
}]);

这种语法很奇怪!将函数放在数组中似乎对我来说非常直观。有没有一个很好的理由为什么选择这样的?为什么不

inject(["$scope", "$compile"], function ($scope, $compile) {

我首选的语法是:

inject("$scope", "$compile", function ($scope, $compile) {

但我知道那里会有一些performance issues (已删除,因为它似乎让问题混乱。) < / p>

2 个答案:

答案 0 :(得分:2)

有时,您需要将控制器函数分配给变量,例如ngRoute(早期是核心Angular的一部分),而不是使用.controller注册它:

$routeProvider
  .when('/Book/:bookId', {
     templateUrl: 'book.html',
     controller: function($scope){
     }
  });

它也有助于为注释重用相同的变量。

$routeProvider
  .when('/Book/:bookId', {
     templateUrl: 'book.html',
     controller: ["$scope", function($scope){
     }]
  });

是的,这有点违反直觉,但并非完全没有理由。

答案 1 :(得分:-1)

不仅表现:)这是因为缩小了事物。你可以读到: Angular Inject minify