Angularjs 什么时候使用 Controller、Service、Directive

较全面介绍: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结构的时候

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章