angularjs1.X 重构controller 的方法小结


Posted in Javascript onAugust 15, 2019

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

培训PPT和示例代码已托管至我的github仓库:

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

一. 结构拆分

小型项目

通过子路由实现拆分分层,父级控制器控制共享模块,提供公共能力,子级分管自己的模块,父子级之间通过消息机制进行通讯。

angularjs1.X 重构controller 的方法小结

中型项目

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

angularjs1.X 重构controller 的方法小结

大型项目

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

angularjs1.X 重构controller 的方法小结

二.基本代码优化

1.业务逻辑代码

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

2.数据加工代码

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

3.DOM操作

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

总结

以上所述是小编给大家介绍的angularjs1.X 重构controller 的方法小结,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
关于jquery中全局函数each使用介绍
Dec 10 Javascript
jQuery 回车事件enter使用示例
Feb 18 Javascript
剖析Node.js异步编程中的回调与代码设计模式
Feb 16 Javascript
基于jQuery Ajax实现上传文件
Mar 24 Javascript
jQuery+CSS3实现四种应用广泛的导航条制作实例详解
Sep 17 Javascript
jQuery学习笔记之入门
Dec 14 Javascript
js调用刷新界面的几种方式
May 03 Javascript
Bootstrap fileinput文件上传组件使用详解
Jun 06 Javascript
vue实现点击选中,其他的不选中方法
Sep 05 Javascript
微信小程序常用的3种提示弹窗实现详解
Sep 19 Javascript
基于JavaScript的数据结构队列动画实现示例解析
Aug 06 Javascript
在nuxt中使用路由重定向的实例
Nov 06 Javascript
浅析Vue中拆分视图层代码的5点建议
Aug 15 #Javascript
vue的keep-alive用法技巧
Aug 15 #Javascript
Vue开发环境中修改端口号的实现方法
Aug 15 #Javascript
Vue触发隐藏input file的方法实例详解
Aug 14 #Javascript
如何使用50行javaScript代码实现简单版的call,apply,bind
Aug 14 #Javascript
微信小程序之数据绑定原理解析
Aug 14 #Javascript
微信公众号平台接口开发 菜单管理的实现
Aug 14 #Javascript
You might like
上海永华YH-R296(华普R-96)12波段立体声收音机的分析和打理
2021/03/02 无线电
用 Composer构建自己的 PHP 框架之使用 ORM
2014/10/30 PHP
php文件读取方法实例分析
2015/06/20 PHP
Javascript模板技术
2007/04/27 Javascript
刷新页面实现方式总结(HTML,ASP,JS)
2008/11/13 Javascript
javaScript实现可缩放的显示区效果代码
2015/10/26 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
详谈JavaScript的闭包及应用
2017/01/17 Javascript
node.js 发布订阅模式的实例
2017/09/10 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
js数组相减简单示例【删除a数组所有与b数组相同元素】
2020/03/04 Javascript
全局安装 Vue cli3 和 继续使用 Vue-cli2.x操作
2020/09/08 Javascript
[05:56]第十六期——新进3大C之小兔基
2014/06/24 DOTA
Python实现多线程下载文件的代码实例
2014/06/01 Python
Python下使用Psyco模块优化运行速度
2015/04/05 Python
Django实现自定义404,500页面教程
2017/03/26 Python
《与孩子一起学编程》python自测题
2018/05/27 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
python如何实现代码检查
2019/06/28 Python
python 直接赋值和copy的区别详解
2019/08/07 Python
Python openpyxl读取单元格字体颜色过程解析
2019/09/03 Python
在jupyter notebook 添加 conda 环境的操作详解
2020/04/10 Python
如何在mac下配置python虚拟环境
2020/07/06 Python
中邮全球便购:中国邮政速递物流
2017/03/04 全球购物
Argos官网:英国家喻户晓的百货零售连锁商
2017/04/03 全球购物
联想瑞士官方网站:Lenovo Switzerland
2017/11/19 全球购物
Farfetch香港官网:汇集全球时尚奢侈品购物平台
2017/11/26 全球购物
北卡罗来纳州豪华家具和家居装饰店:Carolina Rustica
2018/10/30 全球购物
为什么要使用servlet
2016/01/17 面试题
班级文化建设标语
2014/06/23 职场文书
机关作风整顿个人整改措施思想汇报
2014/09/29 职场文书
2014年维稳工作总结
2014/11/18 职场文书
就业证明函
2015/06/17 职场文书
《小小的船》教学反思
2016/02/18 职场文书
Vue全家桶入门基础教程
2021/05/14 Vue.js
opencv 分类白天与夜景视频的方法
2021/06/05 Python