什么时候使用Controller、Service、Directive

来源:互联网 发布:minix3.3.0源码下载 编辑:程序博客网 时间:2024/05/16 14:20

较全面介绍:http://angularjs.cn/A0kK

1、使用controller:


一个控制器应该是很简洁精炼的


1.初始化$scope对象。

2.为$scope对象附加行为。

错误的使用方式:

1.操作DOM -- 控制器中应该只包含业务逻辑。把业务逻辑放到控制器中,可以显著提高可测试性。Angualr大多数情况下使用数据绑定和封装指令来实现手动DOM操作。而不是直接在controller里面操作DOM。

2.格式输入 -- 应该使用Angular的表单控件,而不是用原生的表单控件。

3.filter过滤器 -- 应该使用Angular的filter来代替原生的过滤器。

4.跨控制器共享代码或状态 -- 应该使用Angular的服务来代替。

5.管理其他组件的生命周期(例如,创建服务实例)。


2、使用服务(factory、service、provider)

在应用中的不同代码块之间共享数据。

大多数的商业逻辑和一些重复性的数据都应该要存储到服务中。

Angular在你每次切换路由的时候,就会清理当前的控制器。服务为我们提供了一种长期存储应用数据的方式,

同时,也可以在不同的控制器之间统一的使用服务。

  • 所有的供应商都只被实例化一次,也就说他们都是单例的

  • 除了constant,所有的供应商都可以被装饰器(decorator)装饰

  • value就是一个简单的可注入的值

  • service是一个可注入的构造器

  • factory是一个可注入的方法

  • decorator可以修改或封装其他的供应商,当然除了constant

  • provider是一个可配置的factory



3、指令


指令主要用于操作DOM结构的时候

1 0