AngularJS[1] 诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVC、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
AngularJS 是一个 JavaScript 框架。它是一个以 JavaScript 编写的库。它可通过 <script> 标签添加到 HTML 页面。
AngularJS 通过 指令 扩展了 HTML,且通过表达式 绑定数据到 HTML。
AngularJS 是以一个 JavaScript 文件形式发布的,可通过 script 标签添加到网页中。

特性

  • AngularJS是一个功能强大的基于JavaScript开发框架用于创建富互联网应用(RIA)。

  • AngulajJS为开发者提供的选项(使用JavaScript)在一个干净的MVC(模型 - 视图 - 控制器)的方式来编写客户端应用程序。

  • AngularJS写的应用都是跨浏览器兼容。AngularJS使用JavaScript代码自动处理适应每种浏览器。

  • AngularJS是开源的,完全免费的,并且由数千名世界各地的开发者开发维护。它是根据Apache许可证2.0版许可发布。

总体来说,AngularJS是一个用来构建大型应用,高性能的Web应用程序的框架,同时使它们易于维护。

核心特征

以下是AngularJS中最重要的核心功能:

  • 数据绑定: 模型和视图组件之间的数据自动同步。

  • 适用范围: 这些对象参考模型。它们充当控制器和视图之间的胶水。

  • 控制器: 这些Javascript函数绑定到特定的范围。

  • 服务: AngularJS配有多个内置服务,例如 $http 可作为一个XMLHttpRequest请求。这些单一对象在应用程序只实例化一次。

  • 过滤器: 从一个数组的条目中选择一个子集,并返回一个新的数组。

  • 指令: 指令是关于DOM元素标记(如元素,属性,CSS等等)。这些可以被用来创建作为新的,自定义部件的自定义HTML标签。AngularJS设有内置指令(如:ngBind,ngModel...)

  • 模板:这些符合从控制器和模型信息的呈现的视图。这些可以是单个文件(如index.html),或使用“谐音”在一个页面多个视图。

  • 路由: 它是切换视图的概念。

  • 模型视图: MVC是一个设计模式将应用划分为不同的部分(称为模型,视图和控制器),每个都有不同的职责。 AngularJS并没有传统意义上的实现MVC,而是更接近于MVVM(模型 - 视图 - 视图模型)。 AngularJS团队将它作为模型视图。

  • 深层链接: 深层链接,可以使应用程序状态进行编码在URL中而能够添加到书签。应用程序可从URL恢复到相同的状态。

  • 依赖注入: AngularJS有一个内置的依赖注入子系统,开发人员通过使应用程序从而更易于开发,理解和测试。

概念

下图描述了AngularJS,我们将详细的后续章节讨论一些重要的部分。

AngularJS的优点

  • AngularJS提供一个非常干净和维护的方式来创造单页的应用。

  • AngularJS提供数据绑定功能在HTML中,从而给用户提供丰富和响应的体验

  • AngularJS代码可进行单元测试。

  • AngularJS使用依赖注入和利用关注点分离。

  • AngularJS提供了可重用的组件。

  • 使用AngularJS,开发人员编写更少的代码,并获得更多的功能。

  • 在AngularJS中,视图都是纯HTML页面,并用JavaScript编写控制器做业务处理。

AngularJS应用程序可以在所有主要的浏览器和智能手机,包括Android和iOS系统的手机/平板电脑上运行。

AngulaJS的缺点

虽然AngularJS自带很多优点,但我们应该考虑以下几点(缺点):

  • 不安全:因为只是JavaScript一种框架,由AngularJS编写的应用程序是不安全的。服务器端身份验证和授权是必须用来保证应用程序的安全。

  • 不可降解:如果应用程序的用户禁用JavaScript,那最后用户看到的只是基本页面,仅此而已。

AngularJS组件

AngularJS框架可分为以下三个主要部分组成:

  • ng-app : 指令定义和链接AngularJS应用程序到HTML。

  • ng-model : 指令绑定AngularJS应用数据的值到HTML输入控件。

  • ng-bind : 该指令绑定AngularJS应用程序数据到HTML标签。

AngularJS快速入门简介相关推荐

  1. AngularJS快速入门指南09:SQL

    我们可以将之前章节中的代码用来从数据库中读取数据. 通过PHP Server从MySQL数据库中获取数据 <div ng-app="myApp" ng-controller= ...

  2. AngularJS快速入门指南03:表达式

    AngularJS通过表达式将数据绑定到HTML. AngularJS表达式 AngularJS表达式写在双大括号中:{{ 表达式语句 }}. AngularJS表达式绑定数据到HTML的方式与ng- ...

  3. AngularJS快速入门指南15:API

    API即Application Programming Interface(应用程序接口). AngularJS全局API AngularJS全局API是一组全局JavaScript函数,用来进行一些 ...

  4. AngularJS快速入门

    记得第一次听说AngularJS这项很赞的Web的前端技术,那时还是2014年,年中时我们我的一个大牛兄弟当时去面试时,被问到了是否熟悉该技术,当时他了解和使用的技术比较多.我们询问他面试情况时,他给 ...

  5. AngularJS快速入门指南04:指令

    AngularJS通过指令将HTML属性进行了扩展. AngularJS指令 AngularJS指令是带有ng-前缀的扩展HTML属性. ng-app指令用来初始化AngularJS applicat ...

  6. AngularJS快速入门指南14:数据验证

    AngularJS表单和控件可以对用户输入的数据进行验证. 输入验证 在之前的章节中你已经了解了有关AngularJS表单和控件的相关内容. AngularJS表单和控件可以提供数据验证服务,并对不合 ...

  7. zookeeper快速入门——简介

    在几十年前,一个独立的计算机上往往部署着一套完整的应用系统.当时因为网络稳定性及速度的限制,将相关联的服务部署在一台机器上,让它们使用系统机制通信--比如管道,文件等,往往是最稳定和最高效的.然而随着 ...

  8. AngularJS快速入门5--过滤器

    过滤器 通过某个规则处理接收到的数据,然后返回处理后的结果,也就是格式化需要展示给用户的数据. 内置过滤器 1.货币格式过滤器 currency <html ng-app="my&qu ...

  9. http协议 服务器主动下发,HTTP协议快速入门指南

    看完下面的文章,回答这几个问题 常用的HTTP方法有哪些 GET方法与POST方法的区别 HTTP请求报文与响应报文格式 常见的HTTP相应状态码 HTTP1.1版本新特性 常见HTTP首部字段 HT ...

最新文章

  1. 控制iptables的nat转发端口的实现
  2. Struts2(1)简介
  3. make life colorful
  4. 使用科大讯飞语音转文字的服务进行电话录音分析
  5. background-sizi (转)
  6. 纽约大街上的免费WiFi,终于铺起来了
  7. 【渝粤题库】陕西师范大学202421 教育管理心理学 作业 (专升本)
  8. LinkedList源码阅读笔记(1.8)
  9. 荣耀 Magicbook Pro 锐龙版搭载深度操作系统桌面版
  10. 统计xml文件中的标签出现框数及出现过的图片数
  11. [转] 面向对象编程 - 获取对象信息
  12. 题137.pta数据结构题集-03-树3 Tree Traversals Again (25 分)
  13. 流量卡之家:预约量超百万!华为5G手机线上线下产品紧俏 A股概念股大涨
  14. 人生哲理看完醍醐灌顶茅塞顿开(大部分技术都不懂所以爬不上去)
  15. 轻松实现支付宝服务窗网页授权从配置到获取授权获取用户信息
  16. 简单的例子理解正则表达式中的前瞻与后顾
  17. html如何防止内部撑开,CSS3 流式图片的设置,避免图片撑开所在的容器(附样例)...
  18. css3 画太极图——用一个div实现
  19. php字体加粗,PHP到Excel,加粗字体
  20. 2022年国赛B题(处女作---河南省级三等奖)

热门文章

  1. 【两种解法】1004 Counting Leaves (30 分)_27行代码AC
  2. 【传智播客】Javaweb程序设计任务教程 黑马程序员 课后答案【合集】
  3. 专科学历事业单位工资计算机,事业单位人来告诉你:学历跟入编之后待遇关系有多大!很直接...
  4. 单片机编程php,STC单片机内部FLASH读写程序(最新整理)
  5. linux mysql temp 设置_linux上mysql的简单入门
  6. (Spinner) android中Spinner的使用
  7. 面向对象的4个基本特征
  8. php连接mysql 5.1.73_安装php环境(php5.4.44+mysql5.1.73+IIS)
  9. @retention注解作用_Spring 最核心的注解,都是干货!
  10. python的命名空间_python中命名空间的三种方式介绍(附示例)