AngularJs依赖注入差异

AngularJs依赖注入差异,angularjs,dependency-injection,Angularjs,Dependency Injection,是否需要阵列 app.controller('myController', ['$scope', function($scope){ }]) 这会像上面的代码一样工作吗 app.controller('myController', function($scope){ }) 是的,它将以相同的方式工作,只是不同而已。您需要使用依赖注入(第二种方式) 即使缩小它的范围,将$scope转换为变量a,将$http转换为变量b,它们的标识仍保留在字符串中。数组始终是必需的,但不必将其组

是否需要阵列

   app.controller('myController', ['$scope', function($scope){

}])
这会像上面的代码一样工作吗

   app.controller('myController', function($scope){

})

是的,它将以相同的方式工作,只是不同而已。您需要使用依赖注入(第二种方式)


即使缩小它的范围,将$scope转换为变量a,将$http转换为变量b,它们的标识仍保留在字符串中。

数组始终是必需的,但不必将其组合到控制器定义中。有一种更干净的方法,这是我喜欢的方法。我所做的是以功能性的方式创建控制器。例如:

app.controller('myController', MyController);

//dependency injection done here using the array of definitions
MyController.$inject = ['$scope'];

//all of the dependencies are added as parameters into the controller function
function MyController ($scope) {
   //insert controller code
}

正如Sajeetharan在回答中指出的,这被称为显式方法。您应该查看Angular 1团队认可的其他模式,这些模式有助于使代码更干净、更易于维护

谢谢!这只是一个简单的问题,因为我从未使用过显式依赖注入