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 相关文章推荐
js正确获取元素样式详解
Aug 07 Javascript
javascript 单例/单体模式(Singleton)
Apr 07 Javascript
jQuery 1.7.2中getAll方法的疑惑分析
May 23 Javascript
JavaScript 盒模型 尺寸深入理解
Dec 31 Javascript
offsetHeight在OnLoad中获取为0的现象
Jul 22 Javascript
jquery复选框全选/取消示例
Dec 30 Javascript
JS基于Ajax实现的网页Loading效果代码
Oct 27 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
JS实现unicode和UTF-8之间的互相转换互转
Jul 05 Javascript
深入理解ES6 Promise 扩展always方法
Sep 26 Javascript
关于laydate.js加载laydate.css路径错误问题解决
Dec 27 Javascript
JavaScript代码简化技巧实例解析
Sep 09 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+FLASH实现上传文件进度条相关文件 下载
2007/07/21 PHP
php+AJAX传送中文会导致乱码的问题的解决方法
2008/09/08 PHP
CI框架扩展系统核心类的方法分析
2016/05/23 PHP
ThinkPHP3.1.x修改成功与失败跳转页面的方法
2017/09/29 PHP
用AJAX返回HTML片段中的JavaScript脚本
2010/01/04 Javascript
jquery+ajax每秒向后台发送请求数据然后返回页面的代码
2011/01/17 Javascript
dojo学习第一天 Tab选项卡 实现
2011/08/28 Javascript
jQuery实现的fixedMenu下拉菜单效果代码
2015/08/24 Javascript
jQuery中each循环的跳出和结束实例
2017/08/16 jQuery
vue params、query传参使用详解
2017/09/12 Javascript
React操作真实DOM实现动态吸底部的示例
2017/10/23 Javascript
vue 文件目录结构详解
2017/11/24 Javascript
微信小程序开发背景图显示功能
2018/08/08 Javascript
Nodejs 数组的队列以及forEach的应用详解
2021/02/25 NodeJs
[04:52]2015国际邀请赛LGD战队晋级之路
2015/08/14 DOTA
[03:02]安得倚天剑,跨海斩长鲸——中国军团出征DOTA2国际邀请赛
2018/08/14 DOTA
Python实现爬取知乎神回复简单爬虫代码分享
2015/01/04 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
windows下添加Python环境变量的方法汇总
2018/05/14 Python
numpy中以文本的方式存储以及读取数据方法
2018/06/04 Python
利用Anaconda简单安装scrapy框架的方法
2018/06/13 Python
python判断列表的连续数字范围并分块的方法
2018/11/16 Python
Python数据抓取爬虫代理防封IP方法
2018/12/23 Python
python实现nao机器人身体躯干和腿部动作操作
2019/04/29 Python
python实现微信定时每天和女友发送消息
2019/04/29 Python
PyQt5基本控件使用详解:单选按钮、复选框、下拉框
2019/08/05 Python
Python 日志logging模块用法简单示例
2019/10/18 Python
python实现小世界网络生成
2019/11/21 Python
Python使用Socket实现简单聊天程序
2020/02/28 Python
Python实现ElGamal加密算法的示例代码
2020/06/19 Python
完美解决TensorFlow和Keras大数据量内存溢出的问题
2020/07/03 Python
保险公司早会主持词
2014/03/22 职场文书
高中学生自我评价范文
2014/09/23 职场文书
谢师宴学生答谢词
2015/09/30 职场文书
大学学生会主席竞选稿
2015/11/19 职场文书
2016年度创先争优活动总结
2016/04/05 职场文书