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 autocomplete 使用手册
Apr 01 Javascript
js实现浏览器窗口大小被改变时触发事件的方法
Feb 02 Javascript
jquery带有索引按钮且自动轮播切换特效代码分享
Sep 15 Javascript
JS实现光滑展开合拢的菜单效果代码
Sep 16 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
Jun 15 Javascript
js文件中直接alert()中文出来的是乱码的解决方法
Nov 01 Javascript
轻松实现jQuery添加删除按钮Click事件
Mar 13 Javascript
手写Node静态资源服务器的实现方法
Mar 20 Javascript
js限制input只能输入有效的数字(第一个不能是小数点)
Sep 28 Javascript
微信小程序实现下拉菜单切换效果
Mar 30 Javascript
js实现div色块拖动录制
Jan 16 Javascript
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
Apr 19 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
PHP字符串word末字符实现大小写互换的方法
2014/11/10 PHP
php文件缓存类汇总
2014/11/21 PHP
smarty实现多级分类的方法
2014/12/05 PHP
PHP+mysql实现从数据库获取下拉树功能示例
2017/01/06 PHP
php数据库的增删改查 php与javascript之间的交互
2017/08/31 PHP
PHP用函数嵌入网站访问量计数器
2017/10/27 PHP
PHP设计模式之装饰器模式实例详解
2018/02/07 PHP
高性能Javascript笔记 数据的存储与访问性能优化
2012/08/02 Javascript
tangram框架响应式加载图片方法
2013/11/21 Javascript
NodeJS学习笔记之(Url,QueryString,Path)模块
2015/01/13 NodeJs
JavaScript中使用指数方法Math.exp()的简介
2015/06/15 Javascript
JavaScript中日常收集常见的10种错误(推荐)
2017/01/08 Javascript
Bootstrap + AngularJS 实现简单的数据过滤字符查找功能
2017/07/27 Javascript
微信小程序冒泡事件及其阻止方法实例分析
2018/12/06 Javascript
H5实现手机拍照和选择上传功能
2019/12/18 Javascript
js实现简单的贪吃蛇游戏
2020/04/23 Javascript
关于vue 项目中浏览器跨域的配置问题
2020/11/10 Javascript
Vue 3.0中jsx语法的使用
2020/11/13 Javascript
[02:38]2018DOTA2亚洲邀请赛赛前采访-VGJ.T
2018/04/03 DOTA
寻找网站后台地址的python脚本
2014/09/01 Python
Python中输出ASCII大文字、艺术字、字符字小技巧
2015/04/28 Python
Python Requests安装与简单运用
2016/04/07 Python
Python实现简易Web爬虫详解
2018/01/03 Python
Python基于多线程实现ping扫描功能示例
2018/07/23 Python
基于python实现雪花算法过程详解
2019/11/16 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
pytorch进行上采样的种类实例
2020/02/18 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
基于Keras的格式化输出Loss实现方式
2020/06/17 Python
反邪教警示教育方案
2014/05/13 职场文书
师德师风个人自我剖析材料
2014/09/27 职场文书
家庭财产分割协议书范本
2014/11/24 职场文书
九华山导游词
2015/02/03 职场文书
公司员工离职感言
2015/08/03 职场文书
matlab xlabel位置的设置方式
2021/05/21 Python
分享7个 Python 实战项目练习
2022/03/03 Python