在Angular中,Directive、Service、Filter、Controller都是以工厂方法的方式给出,而工厂方法的参数名对应着该工厂方法依赖的Service。如:数组
app.controller('wolrdCtrl', function($scope, $http){
// ...
});
在上述的function
执行以前,Angular Injector会生成一个$scope
的实例和$http
的实例,并传入该方法。 若是你但愿对JS进行压缩处理,那么参数名就可能发生变化,Angular Injector将不可以正确地注入依赖的Service。因而有另一种写法:app
app.controller('wolrdCtrl', ['$scope', '$http', function($scope, $http){
// ...
}]);
以字符串数组的形式来声明依赖项,由于字符串常量不会被压缩。spa