Freewind @ Thoughtworks scala java javascript dart 工具 编程实践 月结 math python english [comments admin] [feed]

(2013-01-01) 32. 理解Angular的服务

广告: 云梯:翻墙vpn (省10元) 土行孙:科研用户翻墙http proxy (有优惠)

Anguar的services是一些包含了web开发中常用的任务的实例对象,比如$http service就提供了对浏览器的XMLHttpRequest对象的底层访问。

使用Anguar的service,你需要在一个依赖service的元素(如controller,或其它service)中声明依赖于该service。Angular的依赖注入子系统自动处理其它的杂事,如service初始化,依赖的解决,在需要的时候把依赖提供给工厂函数等。

Angular使用"构造器"来注入依赖(service通过工厂函数传入)。因为JavaScript是一个动态类型的这篇文章,Angular的依赖注入子系统不能使用静态类型来确定属性的依赖,所以必须显式地使用$inject属性来声明依赖的services。例如:

myController.$inject = ['$location'];

Angular提供了一组web开发中常用操作的services。与其它Angular核心变量和标识符一样,内置的services总是以$开头(例如上面提到的$http)。你也可以创建自己的services。

相关API

comments powered by Disqus