因为AngularJS是通过控制器构造函数的參数名字来判断依赖服务名称的。所以假设你要压缩控制器的JS代码。它全部的參数也同一时候会被压缩,这时候依赖注入系统就不能正确的识别出服务了。



假如我们的Controller的名称为:BookCtrl,压缩前的代码为:

var BookCtrl = function($scope, $http) { /* constructor body */ };



为了克服压缩引起的问题。仅仅要在控制器函数里面给$inject属性赋值一个依赖服务标识符的数组:

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



还有一种方法也能够用来指定依赖列表而且避免压缩问题——使用Javascript数组方式构造控制器:把要注入的服务放到一个字符串数组(代表依赖的名字)里,数组最后一个元素是控制器的方法函数:

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

上面提到的两种方法都能和AngularJS可注入的不论什么函数完美协作,要选哪一种方式全然取决于你们项目的编程风格,建议使用数组方式。

最新文章

  1. Java学习笔记(06)
  2. MySQL 相关
  3. Windows7 x64配置 Apache2 + PHP5 + MySQL5
  4. winform最小化后隐藏到右下角,单击或双击后恢复 .
  5. git merge简介【转】
  6. mongo常用命令
  7. ECSHOP安装或使用中提示Strict Standards: Non-static method cls_image:
  8. Python学习 - 编写一个简单的web框架(一)
  9. ip,子网掩码,网关,DNS
  10. JAVA布局管理器
  11. esri-leaflet入门教程(2)-地图的HelloWorld
  12. .net使用RabbitMQ
  13. 【学习笔记】 使用XML配置和注解实现Spring的依赖注入DI (2-3-2)
  14. spring揭秘 读书笔记 一 IoC初探
  15. PAT1126:Eulerian Path
  16. [android] sharedPreference入门
  17. Django--CRM-客户列表展示, 分页
  18. 支付宝&微信统一支付
  19. Python中的FTP通信模块ftplib的用法
  20. Java元组Tuple介绍与使用

热门文章

  1. Qt之模型/视图(自己定义button)
  2. drawable-图片绘制
  3. Myeclipse的默认工作区间怎么恢复提示框?
  4. ASP.Net中页面传值的几种方式
  5. JS实现联想自动补齐功能
  6. 有关Canvas的一点小事—canvas和resize
  7. Linux学习总结(4)——Centos6.5使用yum安装mysql——快速上手必备
  8. ajax的post请求与编码
  9. android--显式跳转和隐式跳转的差别使用方法
  10. [RxJS] Avoid mulit post requests by using shareReplay()