4

我是 AngularJS 的新手。我使用 AngularJS 在 VS2012 中创建了一个新应用程序。我已经对我的 JavaScript 文件应用了缩小,但是在缩小之后绑定对我不起作用,因为$scopeAngular 理解的关键字被转换为“ a”。

请让我知道如何对 AngularJS 文件应用缩小?

4

1 回答 1

9

http://docs.angularjs.org/tutorial/step_05

由于 Angular 从控制器构造函数的参数名称中推断出控制器的依赖关系,如果您要缩小 PhoneListCtrl 控制器的 JavaScript 代码,它的所有函数参数也会被缩小,并且依赖注入器将无法识别正确服务。

为了克服由缩小引起的问题,只需将带有服务标识符字符串的数组分配到控制器函数的 $inject 属性中,就像片段中的最后一行(已注释掉)建议的那样:

PhoneListCtrl.$inject = ['$scope', '$http'];

还有另一种方法来指定此依赖项列表并避免缩小问题 - 使用括号表示法将要注入的函数包装到字符串数组(表示依赖项名称)中,然后是要注入的函数:

var PhoneListCtrl = ['$scope', '$http', function($scope, $http) { /* constructor body */ }];

这两种方法都适用于可以由 Angular 注入的任何函数,因此由项目的样式指南决定使用哪一种。

于 2013-05-14T14:10:16.723 回答