首页 > 代码库 > Angularjs[21] - 控制器的合理使用

Angularjs[21] - 控制器的合理使用

正确使用 controller:

 

  • controller不应该尝试做太多事情,它应当仅仅包含单个视图所需要的业务逻辑。
  • 保持 controller 的简单性,常见方法是抽出那些不属于 controller 的工作到 service 中,在 controller 通过依赖注入来使用这些使用这些 service。

 

  • 不要在 controller 中做以下事情:
  1. 任何类型的 DOM 操作,controller 应当仅仅包含业务逻辑,任何表现逻辑放到 controller 中,大大影响了应用逻辑的可测试性。 angular 为了自动操作(更新)DOM,提供了数据绑定。如果希望执行我们自定义的 DOM 操作,可以把表现逻辑抽取到 directive 中。
  2. Input forming(输入格式化):使用 angular form controls 代替。
  3. Output filtering(输出格式化过滤):使用 angular filters 代替。
  4. 执行无状态或有状态的,controller 共享代码 :使用 angular services 代替。
  5. 实例化或者管理其他组件的生命周期(例如创建一个服务实例)。     

Angularjs[21] - 控制器的合理使用