angularjs1.X进阶笔记(3)——如何重构controller

本篇是内部培训交流会的摘要总结。angularjs

培训PPT示例代码已托管至个人github仓库:github

https://github.com/dashnowords/blogs/tree/master/Demo/rebuild-angularjs-controller工具

一. 结构拆分

  1. 小型项目学习

    经过子路由实现拆分分层,父级控制器控制共享模块,提供公共能力,子级分管本身的模块,父子级之间经过消息机制进行通信。优化

  1. 中型项目ui

    经过组合视图实现模块划分,组合视图共享同一个路由地址,分管不一样的模块,组合视图之间须要经过父级控制器(或组合视图的根控制器)来实现通信。code

  1. 大型项目blog

    经过视图组件指令业务模块指令来进行更细粒度的模块拆分,模块通讯依然建议经过消息机制来进行。路由

二.基本代码优化

  1. 业务逻辑代码

    封装Service,经过依赖注入在Controller中或指令中使用。

  2. 数据加工代码

    建议使用表达性更强的通用工具库underscore.jslodash.js提高效率,精简代码。

  3. DOM操做

    建议学习和习惯Angular数据驱动的主导思想,经过数据来启用或消除DOM操做,具体的执行须要经过自定义指令进行实现。

相关文章
相关标签/搜索