上一篇:【译】《精通使用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
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。