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 相关文章推荐
使用text方法获取Html元素文本信息示例
Sep 01 Javascript
jquery解决客户端跨域访问问题
Jan 06 Javascript
对JavaScript中this指针的新理解分享
Jan 31 Javascript
JavaScript三元运算符的多种使用技巧
Apr 16 Javascript
JS实现屏蔽网页右键复制及ctrl+c复制的方法【2种方法】
Sep 04 Javascript
easyUI combobox实现联动效果
Jan 17 Javascript
jQuery中layer分页器的使用
Mar 13 Javascript
Angular模版驱动表单的使用总结
May 05 Javascript
浅谈微信小程序flex布局基础
Sep 10 Javascript
在vue中解决提示警告 for循环报错的方法
Sep 28 Javascript
JS实现的贪吃蛇游戏案例详解
May 01 Javascript
vue+axios实现post文件下载
Sep 25 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简单提示框alert封装函数
2010/08/08 PHP
Symfony数据校验方法实例分析
2015/01/26 PHP
PHP多进程编程总结(推荐)
2016/07/18 PHP
微信小程序发送订阅消息的方法(php 为例)
2019/10/30 PHP
ExtJS 2.0实用简明教程 之Ext类库简介
2009/04/29 Javascript
JavaScript实现的日期控件具体代码
2013/11/18 Javascript
Javascript实现带关闭按钮的网页漂浮广告代码
2014/01/12 Javascript
js操作iframe父子窗体示例
2014/05/22 Javascript
JS实现兼容性好,自动置顶的淘宝悬浮工具栏效果
2015/09/18 Javascript
Node.js+Express配置入门教程详解
2016/05/19 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
JavaScript正则表达式实例详解
2016/10/16 Javascript
开发一个Parcel-vue脚手架工具(详细步骤)
2018/09/22 Javascript
node.js监听文件变化的实现方法
2019/04/17 Javascript
vue实现跨域的方法分析
2019/05/21 Javascript
vue.js this.$router.push获取不到params参数问题
2020/03/03 Javascript
js实现贪吃蛇游戏 canvas绘制地图
2020/09/09 Javascript
[07:12]2014DOTA2西雅图国际邀请赛 黑马Liquid专题采访
2014/07/12 DOTA
[04:22]DSPL第二期精彩集锦:残血反杀!
2014/12/10 DOTA
python批量制作雷达图的实现方法
2016/07/26 Python
Python爬取APP下载链接的实现方法
2016/09/30 Python
详解supervisor使用教程
2017/11/21 Python
python+matplotlib实现鼠标移动三角形高亮及索引显示
2018/01/15 Python
Python 批量合并多个txt文件的实例讲解
2018/05/08 Python
PyTorch中permute的用法详解
2019/12/30 Python
Pycharm中import torch报错的快速解决方法
2020/03/05 Python
python利用platform模块获取系统信息
2020/10/09 Python
Python本地及虚拟解释器配置过程解析
2020/10/13 Python
calendar在python3时间中常用函数举例详解
2020/11/18 Python
生产经理的自我评价分享
2013/11/07 职场文书
平面设计师的工作职责
2013/11/21 职场文书
担保书怎么写
2014/04/01 职场文书
辛亥革命观后感
2015/06/02 职场文书
勇敢的心观后感
2015/06/09 职场文书
行为习惯主题班会
2015/08/14 职场文书
原生JS中应该禁止出现的写法
2021/05/05 Javascript