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的动画类 Fx.js
Nov 05 Javascript
JS Jquery 遍历,筛选页面元素 自动完成(实现代码)
Jul 08 Javascript
js 实现日期灵活格式化的小例子
Jul 14 Javascript
JavaScript将一个数组插入到另一个数组的方法
Mar 19 Javascript
微信小程序中实现一对多发消息详解及实例代码
Feb 14 Javascript
老生常谈js中0到底是 true 还是 false
Mar 08 Javascript
详谈Node.js之操作文件系统
Aug 29 Javascript
JavaScript比较同一天的时间大小实例代码
Feb 09 Javascript
解决vue打包之后静态资源图片失效的问题
Feb 21 Javascript
JS双向链表实现与使用方法示例(增加一个previous属性实现)
Jan 31 Javascript
微信小程序入口场景的问题集合与相关解决方法
Jun 26 Javascript
过滤器vue.filters的使用方法实现
Sep 18 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
帝国CMS留言板回复后发送EMAIL通知客户
2015/07/06 PHP
最新版本PHP 7 vs HHVM 多角度比较
2016/02/14 PHP
使用正则去除php代码中的注释方法
2016/11/03 PHP
Laravel使用消息队列需要注意的一些问题
2017/12/13 PHP
Thinkphp框架+Layui实现图片/文件上传功能分析
2020/02/07 PHP
jQuery 动态酷效果实现总结
2009/12/27 Javascript
javascript 获取网页标题代码实例
2014/01/22 Javascript
JS图片自动轮换效果实现思路附截图
2014/04/30 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
基于BootStrap Metronic开发框架经验小结【一】框架总览及菜单模块的处理
2016/05/12 Javascript
Javascript之面向对象--方法
2016/12/02 Javascript
使用vue2实现购物车和地址选配功能
2018/03/29 Javascript
4 种滚动吸顶实现方式的比较
2019/04/09 Javascript
微信小程序实现多选框全选与反全选及购物车中删除选中的商品功能
2019/12/17 Javascript
JS实现横向跑马灯效果代码
2020/04/20 Javascript
Vue前端判断数据对象是否为空的实例
2020/09/02 Javascript
详解为什么Vue中的v-if和v-for不建议一起用
2021/01/13 Vue.js
python判断字符串是否包含子字符串的方法
2015/03/24 Python
利用Django框架中select_related和prefetch_related函数对数据库查询优化
2015/04/01 Python
Python模拟登录的多种方法(四种)
2018/06/01 Python
详解python中自定义超时异常的几种方法
2019/07/29 Python
django实现将后台model对象转换成json对象并传递给前端jquery
2020/03/16 Python
Python判断远程服务器上Excel文件是否被人打开的方法
2020/07/13 Python
Python正则re模块使用步骤及原理解析
2020/08/18 Python
详解Python3 定义一个跨越多行的字符串的多种方法
2020/09/06 Python
Python爬虫过程解析之多线程获取小米应用商店数据
2020/11/14 Python
pytorch 实现L2和L1正则化regularization的操作
2021/03/03 Python
css3动画过渡实现鼠标跟随导航效果
2018/02/08 HTML / CSS
HTML5制作酷炫音频播放器插件图文教程
2014/12/30 HTML / CSS
美国庭院家具购物网站:AlphaMarts
2019/04/10 全球购物
初中三年学生的学习自我评价
2013/11/13 职场文书
一份创业计划书范文
2014/02/08 职场文书
公司试用期员工自我评价
2014/09/17 职场文书
加强作风建设演讲稿
2014/10/24 职场文书
呐喊读书笔记
2015/06/30 职场文书
聊聊pytorch测试的时候为何要加上model.eval()
2021/05/23 Python