1.AngularJS是一个开发动态Web应用的框架。它让你使用HTML作为模板语言并且可以通过扩展的HTML语法来使应用组价更加清晰和简洁。它的创新之处在于,通过数据绑定和依赖注入减少了大量代码,而这些都在浏览器端通过JavaScript实现,能够和任何服务器技术完美结合。

AngularJS是为了扩展HTML在构建应用时本应具备的能力而设计的。构建动态WEB应用往往需要一些技巧才能让浏览器配合我们的工作。

通常,我们通过以下手段来解决动态应用和静态文档之间不匹配的问题:

类库:一些在开发WEB应用时非常有用的函数的集合。你的代码起主导作用,并且决定何时调用类库的方法。如jQuery。

框架:一种WEB应用的特殊实现,你的代码只需要填充一些具体的信息。框架起主导作用,并且决定何时调用你的代码。例如 knockout, ember等。

AngularJS另辟蹊径,它尝试去扩展HTML的结构来弥补一文档为中心的HTML与实际Web应用所需要的HTML之间的鸿沟。AngularJS通过指令(directive)扩展HTML语法。例如:

  • 通过{{}}进行数据绑定。
  • 使用DOM控制结构来进行迭代或隐藏DOM片段。
  • 支持表单和表单验证。
  • 将逻辑代码关联到DOM元素上。
  • 将一组HTML做成可重用的组件。

Angular是建立在这样的信念之上的:即声明式的代码用在构建用户界面和组装软件组件时更好,而命令式的代码更擅长展现业务逻辑。

  • 将应用逻辑与DOM操作解耦,会大大提高代码的可测试性。
  • 平等看待应用的测试和开发,测试的难度很大程度上取决于代码的结构。
  • 将前端与服务器端解耦,这样使得前端的开发和服务器端的开发可以齐头并进,实现两边代码的重用。
  • 框架在整个应用的开发流程中指导开发者:从用户界面设计到实现业务逻辑,再到测试。
  • 化繁为简,化整为零总是好的。

Angular将把你从下面的苦海中解脱出来:

  • 使用回调:回调会降低代码的可读性,是代码变得零散。移除像回调之类的常见代码是件好事,大幅移除因为JavaScript这门语言的不足而使你不得不写的代码,从而让应用显得更加清晰。
  • 以编程的方式操作HTML DOM:操作HTML DOM是AJAX应用中很基础的一部分,但它不灵活并且容易出错。通过声明式的语句,描述UI该怎样随着状态的改变而变化,能让你从低级的DOM操作中解脱出来。绝大多数Angular的应用开发中,开发者都不需要自己去写低级的操作DOM的代码,尽管如果你非要这样的话,也是可以的。
  • 在用户界面中读写数据:AJAX应用中的绝大多数操作都是CRUD操作。一个典型的流程是从服务器端取到数据组装成内部对象,然后写到HTML的表单中,在用户对表单进行修改之后,进行表单验证,显示表单验证错误信息,然后将数据重新组装成内部对象,再发给服务器。在这个流程中有很多重复的代码要写,而Angular消除了在这个流程中几乎所有的重复代码,使得代码看起来只是在描述所有的执行流程,而不是所有的实现细节。
  • 在开始前写大量的初始化代码:一般需要写很多的基础性的代码才能完成一个基本的AJAX的Hello World应用。在Angular的应用中,你可以通过一些服务来初始化应用,这些服务都是以类似于Guice的方式进行依赖注入的。这会让你很快进入功能开发。另外,你还能完全控制自动化测试的初始化过程。

AngularJS 概述相关推荐

  1. angularjs详解

    1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...

  2. angularjs框架

    1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...

  3. angularjs学习总结 详细教程

    本文详细讲解了前言.AngularJS概述.AugularJS特性.功能介绍.功能演示.功能演示.AngularJS进阶.总结七部分,可能会与原文略有不同. 不理解请看原文(尤其是代码部分),本文仅供 ...

  4. 转: angularjs学习总结(~~很详细的教程)

    1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...

  5. angularjs学习总结 详细教程(转载)

    1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是google在维护,其在国外已经十分火热,可是国内的 ...

  6. angularjs学习总结(资料收集)

    angularjs学习总结(资料收集) 原文地址https://blog.csdn.net/weixin_33178524/article/details/79179597 1 前言 前端技术的发展是 ...

  7. AngularJS 整理学习

    参考博客:  https://blog.csdn.net/weixin_33178524/article/details/79179597 https://blog.csdn.net/qq_42128 ...

  8. 转载的关于AngularJs的总结

    1前言 前端技术的发展是如此之快,各种优秀技术,优秀框架的出现简直让人目不暇接,紧跟时代潮流,学习掌握新知识自然是不敢怠慢. AngularJS是谷歌在维护,其在国外已经十分火热,可是国内的使用情况却 ...

  9. 【转】Angular学习总结--很详细的教程

    *这篇文章是转来的,做了自己的一点修改,排版.原始出处不明,如涉及原博主版权问题,请及时告知,我将会立即删除*. 1 前言 前端技术的发展是如此之快,各种优秀技术.优秀框架的出现简直让人目不暇接,紧跟 ...

最新文章

  1. 8种最坑的SQL错误用法,第一个就很坑?
  2. android 课程——样式
  3. CSS高度塌陷问题-清除浮动
  4. C语言getch()函数学习
  5. 科大星云诗社动态20210422
  6. linux 解决依赖性错误,linux – 由于单模块依赖性,XSP配置失败
  7. CodeForces - 501C Misha and Forest(拓扑排序)
  8. 【工具相关】web-HTML/CSS/JS Prettify的使用
  9. winform Outlookbar
  10. XPath匹配标签使用text()判断获取结果失败/为空的问题及解决方法
  11. c++自底向上算符优先分析_Python语言元素之运算符
  12. 字节跳动 Go 语言面试高频题
  13. 指数分布的期望和方差推导
  14. rar压缩包密码解密工具
  15. html动画引擎,AlloyStic HTML5骨骼动画
  16. 动态规划 - 买卖股票
  17. npm run dev命令报错解决方式
  18. C++内存管理机制—Primitives笔记
  19. 事关健康、教育和工资 | 1月起,这些事有变化 |
  20. Jmeter+Jenkins+Ant 接口自动化持续集成框架

热门文章

  1. 【前沿技术RPA】 一文了解UiPath 机器人企业框架 (REFramework)
  2. Python时间24小时制和12小时制转换
  3. TikZ绘制多样的花括号
  4. 大数除法(超长整数运算除法器)详解
  5. 数据中心硬件架构拆解分析
  6. 2D动画设计制作软件—“Reallusion Cartoon Animator”
  7. 《认知天性:让学习轻而易举的心理学规律》
  8. Ubuntu修改ssh登录欢迎信息
  9. invalid button size rid: 5fd188c8-1d752f57-0d53f85f
  10. Keep It for Mac(专业笔记工具)