1

上一篇:【译】《精通使用AngularJS开发Web App》(四)
下一篇:【译】《精通使用AngularJS开发Web App》(六)

书名:Mastering Web Application Development with AngularJS

Chapter 1

合作对象

正如所见,AngularJS提供了一种将对象组织为模块的方式。模块不仅可以注册可以直接被框架所调用的对象(控制器,过滤器等),还可以使用任何应用开发者所定义的对象。(TODO)

模块的方式对于我们组织代码来说非常有用,但AngularJS做的更多,除了将对象注册到一个命名空间里之外,还可以在模块之间声明式的描述互相的依赖。

依赖注入

前面已经可以看到,$scope 对象被神秘的注入到了控制器的实例中了。AnuglarJS可以通过某种方式得知一个控制器需要一个新的 scope 实例,然后就会生成一个 scope 实例,并将它注入。而控制器所需要做的唯一的事情就是,指出它自己依赖于一个 $scope 实例(无需确认一个新的 $scope 对象究竟是如何被实例化的,当前这个 $scope 是需要重新生成呢,还是重新复用之前的实例呢)。整个的依赖管理可以归结为这样:“要想正确的使用这个函数,我需要一个依赖(合作对象):我不知道它从哪儿来的,也不需知道它是怎么被创建的。我只知道,我需要一个依赖,所以给我提供一个就OK了”。

AnuglarJS 内置有依赖注入引擎。它可以执行下面的工作:
- 理解一个对象所描述的对一个合作者的需求
- 找到这个被需要的合作者
- 将这些对象合理的组成一个功能完全的应用

这个可以声明式的描述依赖是一个非常棒的注意;它让对象免于在合作对象的生命周期上费心。更重要的是,可以瞬间任意地切换合作对象,然后只要简单的替换一些服务就变成了另外一个不同的应用。这也是可以高效的进行单元测试组件的关键所在。

依赖注入的优点

注册服务

模块的生命周期

模块依赖于其他模块

AngularJS和其他的

jQuery和AngularJS

苹果和桔子

未来规划先睹为快

总结

转载请注明来自[超2真人]
本文链接:http://www.peichao01.com/static_content/doc/html/Mastering_Web_Application_Development_with_AngularJS_5.html


超2真神
1.1k 声望104 粉丝

关注设计、漫画、动画,前端、javascript、iOS还有任何好玩的事情