AngularJS 概述

AngularJS 概述

AngularJS是一个开源的Web应用程序框架。它最初由Misko Hevery和Adam Abrons在2009年开发,现在由Google维护。它的最新版本是1.2.21。

如官方文档所述,AngularJS的定义如下:

  • AngularJS是一个用于动态Web应用程序的结构化框架。它允许您使用HTML作为模板语言,并扩展HTML的语法以清晰简洁地表达应用程序组件。它的数据绑定和依赖注入大大减少了您当前需要编写的代码量。而且所有这些都发生在浏览器内部,使它成为任何服务器技术的理想伴侣。

通用特点

AngularJS的通用特点如下:

  • AngularJS是一个高效的框架,可以创建丰富的互联网应用程序(RIA)。

  • AngularJS为开发者提供使用JavaScript以清晰的模型视图控制器(MVC)方式编写客户端应用程序的选项。

  • 使用AngularJS编写的应用程序在各个浏览器上都是兼容的。AngularJS会自动处理适用于每个浏览器的JavaScript代码。

  • AngularJS是开源的,完全免费,并被世界各地的数千名开发者使用。它在Apache许可证版本2.0下获得了许可。

总体而言,AngularJS是一个用于构建大规模、高性能和易于维护的Web应用程序的框架。

核心特点

AngularJS的核心特点如下:

  • Data-binding - 它是模型和视图组件之间的自动数据同步。

  • Scope - 这些是指向模型的对象。它们在控制器和视图之间充当粘合剂。

  • Controller - 这些是绑定到特定作用域的JavaScript函数。

  • Services - AngularJS提供了几个内置服务,如$ http来进行XMLHttpRequest。它们是单例对象,仅在应用程序中实例化一次。

  • Filters - 这些从数组中选择一组子项并返回一个新数组。

  • Directives - 指令是DOM元素上的标记,如元素、属性、css等。它们可以用于创建自定义HTML标签,作为新的自定义小部件。AngularJS具有内置指令,例如ngBind,ngModel等。

  • Templates - 这些是使用控制器和模型信息呈现的视图。它们可以是一个单独的文件(如index.html),也可以是在一个页面中使用部分视图。

  • Routing - 这是切换视图的概念。

  • Model View Whatever - MVW是一种将应用程序分为模型、视图和控制器等不同部分的设计模式,每个部分都有不同的责任。AngularJS在传统意义上并没有实现MVC,而更接近MVVM(Model-View-ViewModel)。Angular JS团队幽默地将其称为模型视图任何内容。

  • Deep Linking - 深度链接允许在URL中对应用程序的状态进行编码,以便可以进行书签。然后可以从URL恢复应用程序到相同的状态。

  • 依赖注入 - AngularJS具有内置的依赖注入子系统,帮助开发人员轻松创建、理解和测试应用程序。

概念

以下图示了我们将在后续章节中详细讨论的AngularJS的一些重要部分。

AngularJS 概述

AngularJS的优势

AngularJS的优势包括:

  • 它能够以非常干净和易维护的方式创建单页应用。

  • 它为HTML提供数据绑定功能。因此,它为用户提供了丰富和响应迅速的体验。

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

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

  • AngularJS提供可重用的组件。

  • 使用AngularJS,开发人员可以用更少的代码实现更多的功能。

  • 在AngularJS中,视图是纯HTML页面,而由JavaScript编写的控制器执行业务处理。

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

AngularJS的缺点

尽管AngularJS带来了很多优点,但以下是一些值得关注的问题:

  • 不安全 - 由于AngularJS是仅JavaScript的框架,使用AngularJS编写的应用程序并不安全。服务器端身份验证和授权是保持应用程序安全的必要条件。

  • 不可退化 - 如果用户禁用JavaScript,则除了基本页面外,什么都不会显示。

AngularJS指令

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

  • ng-app - 此指令定义并将AngularJS应用程序与HTML关联起来。

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

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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程