我一直在阅读很多文档,而且我越来越困惑了.我基本上无法弄清楚a之间的区别
我看到很多自定义组件.有时候他们会使用指令,有时候是服务.它始终以模块开始.有人可以用一个例子来解释这三种类型之间的区别吗?
Mar*_*cok 230
从我自己的个人笔记(主要是来自文档的片段,谷歌小组帖子和SO帖子):
模块
服务
指令(下面的一些项目基本上是相同的,但我发现有时候略有不同的措辞有很多帮助)
在模块中定义和分组Angular事物(依赖注入事物).
共享数据并在服务中包装Web服务器交互.
扩展HTML并在指令中执行DOM操作.
并使控制器尽可能"薄".
Dan*_*yon 121
可以将模块视为连接许多其他内容的地方,例如指令,服务,常量等.可以将模块注入到其他模块中,从而为您提供高水平的重用.
在编写角度应用程序时,您将拥有一个顶级模块,它是您的应用程序代码(没有模板).
服务主要是控制器之间的通信方式,但您可以将一个服务注入另一个服务.服务通常用作访问数据存储的方式,人们将包装角度API,例如ngResource.这种技术很有用,因为它使测试(特别是模拟)非常容易.您可以使用其他服务进行身份验证,日志记录等服务.
指令用于创建小部件或包装现有的东西,如jquery插件.包装现有插件可能是一个挑战,你要这样做的原因是在插件和角度之间建立双向数据绑定.如果您不需要双向数据绑定,则无需包装它们.
指令也是进行DOM操作,捕获DOM事件等的地方.你不应该在控制器或服务中做与DOM相关的事情.创建指令会变得非常复杂.恕我直言,我建议首先查看可以满足您需求的API,或者向Angular的Google Group寻求建议.