我是AngularJS的新手。我使用AngularJS在VS2012中创建了一个新的应用程序。我已经将缩小应用于我的JavaScript文件,但在缩小之后,绑定对我不起作用。因为有角度理解的 $ scope 关键字会转换为 a 。
请告诉我如何将缩小应用于angularJS文件?
答案 0 :(得分:9)
来自http://docs.angularjs.org/tutorial/step_05:
由于angular将控制器的依赖关系从参数名称推断到控制器的构造函数,如果你要缩小PhoneListCtrl控制器的JavaScript代码,它的所有函数参数也会缩小,并且依赖注入器也不会能够正确识别服务。
要克服由缩小引起的问题,只需将带有服务标识符字符串的数组分配到控制器函数的$ inject属性中,就像代码段中的最后一行(已注释掉)建议:
PhoneListCtrl.$inject = ['$scope', '$http'];
还有一种方法可以指定此依赖项列表并避免缩小问题 - 使用括号函数将括号函数注入到字符串数组中(表示依赖项名称),后跟要注入的函数: / p>
var PhoneListCtrl = ['$scope', '$http', function($scope, $http) { /* constructor body */ }];
这两种方法都适用于Angular可以注入的任何函数,因此由项目的样式指南来决定你使用哪一个。