在 Angular 里面使用 Dependency Injection ,也就是依赖注入,比如这里我们把 $log 这个服务注入到了 UserController 这个控制器里,然后在这个控制器里使用了这个服务提供的功能,就是在控制台上输出了一个 hello ...
这段代码在最小化以后,会有一些变化.. 我们可以先看一下 ... 打开命令行工具 ... 输入 gulp scripts ... 这个任务是我事先设计好的,它可以把 app.js 这个文件最小化,然后重命名为 app.min.js ,放到 app 下面的 js 这个目录里面 ... 打开这个文件看一下 ...
这里你会发现,我们作为依赖注入到这个控制器里的 $log 服务的名字,变成了简写的 l ... 这样在控制器里使用这个 l 上面的方法,Angular 是不认识的 ... 会出现错误的提示 ...
解决这个问题的方法就是使用安全的依赖注入的方法 ... 先回到 app.js ... 我们可以把这个控制器的第二个参数,放到一个数组里面 ... 然后在这个数组的一开始的项目,可以放一些要注入的依赖 ... 这里就是 $log ... 注意要在它的周围加上引号 ... 逗号分隔一下 ... 这样它会作为最后的这个 function 的参数的名字传递过来 ... 也就是,不管我们把 function 里面的 $log 换成什么,都可以正确的使用 $log 这个服务提供的方法 ...
这里要注意一下顺序,比如还有其它的要注入的东西,数组里的项目的顺序,要跟 function 里面的参数的顺序是对应的 ... 名字不重要,但是顺序很重要 ...
回到命令行,再执行一下 gulp scripts ... 打开 app.min.js ... 最小化以后,虽然 function 里面的 $log 也会变成简写的 l ... 不过前面我们有一个 $log 作保证,所以,在这个函数里,可以正常的使用注入进来的服务上面的方法 ...