AngularJS中的依赖注入实际上如何工作?
是的,我读了很多东西,我知道如何使用。
假设我们有以下控制器:
app.controller('LoginCtrl', ['$scope', '$rootScope', '$http', '$location', function($scope, $rootScope, $http, $location) { /* ... */ }]);
我知道我们应该使用传递数组来使用JS minifiers,所以Angular无论如何都会知道依赖的实名。
假设我们实际使用JS minifier并且$scope
被转换为$s
。 Angular如何知道此$s
实际上是$scope
,因此它应该具有$scope
文档中描述的相同界面?
答案 0 :(得分:4)
缩小过程会缩短函数的所有名称和参数,以减轻文件的重量。因此,一旦你的控制器缩小,他将看起来像这样:
function(a, b, c, d) { /* ... */ }]);
但是如果您正在使用$inject
,或者通过函数传递数组,它将让您的函数知道应该将哪个服务注入到控制器中的每个参数。
app.controller('LoginCtrl', [
'$scope', '$rootScope', '$http', '$location',
function(a, b, c, d) { /* ... */ }]);
因此,一旦它将被缩小角度,仍然应该注入的服务的名称和位置编号(数组中的元素的索引)中的每一个都链接到控制器函数中的参数的索引。因此,正如我们所见,订购事项。