AngularJS深度剖析与最佳实践

AngularJS深度剖析与最佳实践

暂无评价综合评分的显示会考虑用户真实性等多项因素,每部作品出现综合评分的时间不定。
免费试读

作品简介

本书深入讲解AngularJS的基本概念及其背后的原理,包括完整的开发框架与实践。

不仅抽丝剥茧地展现了AngularJS的诸多特性与技巧,还讲解了工程实践中容易陷入的“坑”,是从小工走向专家的必备参考。

雪狼,资深前端架构师,热爱技术,热衷编程,16年来从未中断。涉足的软件开发领域从桌面软件到Web应用,涵盖翻译软件、通讯软件、安全软件、企业级系统等。他还是AngularJS中

破狼,ThoughtWorks一线码农,高级架构师、咨询师国内Angular最早布道者之一,ngnice、ngShowCase创建人之一。Angular中文社区“狼主”,全栈攻城狮,同时也运维了一个前端微信公众号“shuang_lang_shuo”。

彭洪伟,ThoughWorks一线码农,Angular早期使用者,ngnice的早期贡献者之一。除了前端技术,对Java、Scala、Ruby等也均有涉猎,并且翻译了构建工具SBT的文档。

作品目录

  1. 前言
  2. 第1章 从实战开始
  3. 1.1 环境准备
  4. 1.2 需求分析与迭代计划
  5. 1.3 创建项目
  6. 1.4 实现第一个页面:注册
  7. 1.5 实现更多功能:主题
  8. 1.6 实现AOP功能
  9. 1.7 实战小结
  10. 第2章 概念介绍
  11. 2.1 什么是UI
  12. 2.2 模块
  13. 2.3 作用域
  14. 2.4 控制器
  15. 2.5 视图
  16. 2.6 指令
  17. 2.7 过滤器
  18. 2.8 路由
  19. 2.9 服务
  20. 2.10 承诺
  21. 2.11 消息
  22. 2.12 单元测试
  23. 2.13 端到端测试
  24. 第3章 背后的原理
  25. 3.1 Angular中的MVVM模式
  26. 3.2 Angular启动过程
  27. 3.3 依赖注入
  28. 3.4 脏检查机制
  29. 3.5 指令的生命周期
  30. 3.6 Angular中的$parse、$eval和$observe、$watch
  31. 3.7 REST
  32. 3.8 跨域
  33. 3.9 前端安全技术
  34. 第4章 最佳实践
  35. 4.1 调整开发协作流程
  36. 4.2 前后端分离部署
  37. 4.3 样式中心页
  38. 4.4 CSS的扩展语言与架构
  39. 4.5 HTML的表意性
  40. 4.6 table,天使还是魔鬼
  41. 4.7 测试什么?怎么测?
  42. 4.8 如何设计友好的REST API
  43. 4.9 使用controller as vm方式
  44. 4.10 移除不必要的$watch
  45. 4.11 总是用ng-model作为输出
  46. 4.12 用打包代替动态加载
  47. 4.13 引入Angular-hint
  48. 第5章 Angular开发技巧
  49. 5.1 $timeout的妙用
  50. 5.2 ngTemplate寄宿方式
  51. 5.3 在非独立作用域指令中实现scope绑定
  52. 5.4 表单验证错误信息显示
  53. 5.5 Angular中的AOP机制
  54. 5.6 Ajax请求和响应数据的转换
  55. 5.7 在代码中注入Filter
  56. 5.8 防止Angular表达式闪烁
  57. 5.9 实现前端权限控制
  58. 5.10 依赖注入——$injector
  59. 5.11 在指令中让使用者自定义模板
  60. 5.12 跨多个节点的ng-if或ng-repeat
  61. 5.13 阻止事件冒泡和浏览器默认行为
  62. 5.14 动态绑定HTML
  63. 第6章 Angular常见的“坑”
  64. 6.1 module函数的声明和获取重载
  65. 6.2 ngModel绑定值不更改
  66. 6.3 指令不生效
  67. 6.4 Angular中锚点的使用
  68. 6.5 ngRepeat验证失效
  69. 6.6 有些指令需要唯一的根节点
  70. 6.7 指令优先级-Priority
  71. 6.8 ngRepeat报重复内容错误
  72. 6.9 单元测试中promise不触发
  73. 第7章 编码规范
  74. 7.1 目录结构
  75. 7.2 模块组织
  76. 7.3 控制器
  77. 7.4 服务
  78. 7.5 过滤器
  79. 7.6 指令
  80. 7.7 模板
  81. 7.8 工具
  82. 7.9 其他
  83. 第8章 工具
  84. 8.1 WebStorm与IntelliJ
  85. 8.2 Chrome
  86. 8.3 Gulp
  87. 8.4 Swagger
  88. 8.5 TSD
  89. 8.6 Postman
  90. 第9章 杂项知识
  91. 9.1 Angular 2.0
  92. 9.2 SEO
  93. 9.3 IE兼容性
  94. 9.4 访问统计
  95. 9.5 响应式布局
  96. 9.6 国际化
  97. 9.7 动画
  98. 9.8 手机版开发
  99. 附录A 相关资源
  100. 后记 提问的智慧
载入中

热门划线

  1. 一期需求是非常简单的。这也是很多项目的常态,通过第一期的成功来树立开发方和客户方的信心,后面的开发就会顺利很多。这也是你凭借自己的专业性来对客户负责的表现。2 人
  2. 在实际开发中,我一般以2000条普通查询结果作为区分用前端过滤还是用后端过滤的界限,即:当预期的最大数据条数小于2000时,用前端过滤,否则用后端过滤。如果后端逻辑复杂,查询代价高,或者单条数据量大,传输代价高,可以适当减小这个限额。当然,如果要实现基于语义分析的模糊匹配,显然就该用后端过滤来实现了。2 人
  3. 所谓模块是指把相关的一组编程元素(如类、函数、变量等)组织到同一个发布包中。这些编程元素之间紧密协作,隐藏实现细节,只通过公开的接口与其他模块合作。2 人
  4. scope之所以如此重要,是因为它事实上是Angular解耦业务逻辑层和视图层的关键:Controller操作scope,View则展现scope的内容,传统前端程序中大量复杂的DOM操纵逻辑都被转变成对scope的操作。2 人
  5. 组件型指令应该是满足封装的自治性、内聚性的,它不应该直接引用当前页面的DOM结构、数据等。如果存在需要的信息,则可以通过指令的属性传递或者利用后端服务接口来自我满足。2 人
  6. 独立作用域指令是“排它”的。2 人
  7. 你发现你的代码中混杂了表现层逻辑和业务层逻辑的时候,你就要认真考虑抽取服务了——哪怕它还看不到复用价值2 人
  8. 由于依赖注入的要求,服务都是单例的,这样我们才能把它们到处注入,而不用手动管理它们的生命周期,并容许Angular实现“延迟初始化”等优化措施。2 人

喜欢这本书的人也喜欢