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 相关文章推荐
JavaScript判断浏览器类型的方法
Feb 10 Javascript
javascript父子页面通讯实例详解
Jul 17 Javascript
基于jQuery实现的向下滑动二级菜单效果代码
Aug 31 Javascript
JS+CSS实现分类动态选择及移动功能效果代码
Oct 19 Javascript
浅谈javascript中replace()方法
Nov 10 Javascript
Node.js开启Https的实践详解
Oct 25 Javascript
d3.js实现立体柱图的方法详解
Apr 28 Javascript
vue2.0全局组件之pdf详解
Jun 26 Javascript
ionic 3.0+ 项目搭建运行环境的教程
Aug 09 Javascript
从源码看angular/material2 中 dialog模块的实现方法
Oct 18 Javascript
vue 返回上一页,页面样式错乱的解决
Nov 14 Javascript
koa-passport实现本地验证的方法示例
Feb 20 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
为什么《星际争霸》是测试人工智能的理想战场
2019/12/03 星际争霸
PHP 面向对象 PHP5 中的常量
2010/05/05 PHP
phpize的深入理解
2013/06/03 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
php中sprintf与printf函数用法区别解析
2014/02/17 PHP
深入理解javascript学习笔记(一) 编写高质量代码
2012/08/09 Javascript
如何使用JS获取IE上传文件路径(IE7,8)
2013/07/08 Javascript
js string 转 int 注意的问题小结
2013/08/15 Javascript
jquery1.9 下检测浏览器类型和版本的方法
2013/12/26 Javascript
JSON取值前判断
2014/12/23 Javascript
JS往数组中添加项性能分析
2015/02/25 Javascript
JS+CSS实现自动改变切换方向图片幻灯切换效果的方法
2015/03/02 Javascript
javascript设计模式之中介者模式学习笔记
2017/02/15 Javascript
解决Vue调用springboot接口403跨域问题
2019/09/02 Javascript
node.js使用fs读取文件出错的解决方案
2019/10/23 Javascript
python Django模板的使用方法(图文)
2013/11/04 Python
详解Python中类的定义与使用
2017/04/11 Python
python实现外卖信息管理系统
2018/01/11 Python
python实现对文件中图片生成带标签的txt文件方法
2018/04/27 Python
使用Python快速搭建HTTP服务和文件共享服务的实例讲解
2018/06/04 Python
PyQt弹出式对话框的常用方法及标准按钮类型
2019/02/27 Python
如何使用python爬虫爬取要登陆的网站
2019/07/12 Python
解决Python3 抓取微信账单信息问题
2019/07/19 Python
如何基于Python实现电子邮件的发送
2019/12/16 Python
python matplotlib绘制三维图的示例
2020/09/24 Python
通用的Django注册功能模块实现方法
2021/02/05 Python
英国最大的高品质珠宝和手表专家:Goldsmiths
2017/03/11 全球购物
英国男士时尚网站:Dandy Fellow
2018/02/09 全球购物
Servlet面试题库
2015/07/18 面试题
部队领导证婚词
2014/01/12 职场文书
幼儿园托班开学寄语
2014/01/18 职场文书
优秀教师的感人事迹
2014/02/04 职场文书
质量主管工作职责
2014/09/26 职场文书
2015员工年度考核评语
2015/03/25 职场文书
Matplotlib绘制条形图的方法你知道吗
2022/03/21 Python
搭建Yolov5服务器
2022/04/30 Servers