Angularjs 角度控制器

Angularjs 角度控制器,angularjs,angularjs-controller,Angularjs,Angularjs Controller,我对angular js中控制器的语法有点困惑: 当我使用{{和}时,以下两个控制器都工作 有人能告诉我在函数($scope..)之前的参数$scope和$filter的用途是什么吗,粗体的那一个。此外,当我删除其中一个,我不会得到输出。 'MyController1',['$scope','$filter',函数($scope 在这里,我删除了函数之前的$scope和$filter,但它仍然有效 app.controller('DemoController', function($scope,

我对angular js中控制器的语法有点困惑: 当我使用
{{
}
时,以下两个控制器都工作

有人能告诉我在函数($scope..)之前的参数
$scope
$filter
的用途是什么吗,粗体的那一个。此外,当我删除其中一个,我不会得到输出。 'MyController1',['$scope','$filter',函数($scope

在这里,我删除了函数之前的
$scope
$filter
,但它仍然有效

app.controller('DemoController',
function($scope, $filter) {
$scope.an= $filter('uppercase')('Ari');
});

如果你缩小你的JavaScript,它是有用的。如果你之前声明了“stringized”变量,缩小的JS仍然会找到minifed变量应该是什么

您的JavaScript minifed将被删除

app.controller("MyController1",["$scope","$filter",function(r,a){r.an=a("uppercase")("ankurbhatia")}]);
如果之前未指定字符串,它将如下所示:

app.controller("MyController1",function(o,r){o.an=r("uppercase")("ankurbhatia")});
请参阅“缩小说明”一节
具体来说,DI知道注入什么,因为它知道在代码中以字符串的形式调用什么变量。如果你缩小代码,你就改变了变量的名称,DI就不再知道它需要注入这些服务。非常感谢petur。因此,如果我理解正确,缩小就是通过r节省一些空间从源代码中导出不必要的字符,但在这种情况下,我们到底在哪里节省空间?当JavaScript通过internet传输时。例如,整个angular.js文件是965,5kB未统一和126,4kB缩小的,这在传输的文件中节省了大量空间,用户感觉页面加载速度更快。
app.controller("MyController1",function(o,r){o.an=r("uppercase")("ankurbhatia")});