- AngularJS 教程
- AngularJS - 主页
- AngularJS - 概述
- AngularJS - 环境设置
- AngularJS - MVC 架构
- AngularJS - 第一个应用程序
- AngularJS - 指令
- AngularJS - 表达式
- AngularJS - 控制器
- AngularJS - 过滤器
- AngularJS - 表格
- AngularJS - HTML DOM
- AngularJS - 模块
- AngularJS - 表单
- AngularJS - 包括
- AngularJS-AJAX
- AngularJS - 视图
- AngularJS - 范围
- AngularJS - 服务
- AngularJS - 依赖注入
- AngularJS - 自定义指令
- AngularJS - 国际化
- AngularJS 应用程序
- AngularJS - ToDo 应用程序
- AngularJS - 记事本应用程序
- AngularJS - 引导应用程序
- AngularJS - 登录应用程序
- AngularJS - 上传文件
- AngularJS - 内嵌应用程序
- AngularJS - 导航菜单
- AngularJS - 切换菜单
- AngularJS - 订单
- AngularJS - 搜索选项卡
- AngularJS - 拖动应用程序
- AngularJS - 购物车应用程序
- AngularJS - 翻译应用程序
- AngularJS - 图表应用
- AngularJS - 地图应用程序
- AngularJS - 共享应用程序
- AngularJS - 天气应用
- AngularJS - 计时器应用程序
- AngularJS - 传单应用程序
- AngularJS - Lastfm 应用程序
- AngularJS 有用资源
- AngularJS - 问题与解答
- AngularJS - 快速指南
- AngularJS - 有用的资源
- AngularJS - 讨论
AngularJS - 概述
AngularJS 是一个开源 Web 应用程序框架。它最初由 Misko Hevery 和 Adam Abrons 于 2009 年开发。现在由 Google 维护。其最新版本是1.2.21。
AngularJS官方文档的定义如下:
AngularJS 是动态 Web 应用程序的结构框架。它允许您使用 HTML 作为模板语言,并允许您扩展 HTML 的语法以清晰、简洁地表达您的应用程序组件。它的数据绑定和依赖注入消除了您当前必须编写的大部分代码。这一切都发生在浏览器内,使其成为任何服务器技术的理想合作伙伴。
一般特征
AngularJS 的一般特征如下:
AngularJS 是一个可以创建富互联网应用程序(RIA)的高效框架。
AngularJS 为开发人员提供了一种选择,以一种干净的模型视图控制器 (MVC) 方式使用 JavaScript 编写客户端应用程序。
用 AngularJS 编写的应用程序是跨浏览器兼容的。AngularJS 自动处理适合每个浏览器的 JavaScript 代码。
AngularJS 是开源的、完全免费的,被世界各地成千上万的开发者使用。它根据 Apache 许可证版本 2.0 获得许可。
总体而言,AngularJS 是一个用于构建大规模、高性能且易于维护的 Web 应用程序的框架。
核心特点
AngularJS 的核心特性如下:
数据绑定- 它是模型和视图组件之间数据的自动同步。
范围- 这些是引用模型的对象。它们充当控制器和视图之间的粘合剂。
控制器- 这些是绑定到特定范围的 JavaScript 函数。
服务- AngularJS 附带了几个内置服务,例如 $http 来创建 XMLHttpRequests。这些是单例对象,仅在应用程序中实例化一次。
过滤器- 从数组中选择项目的子集并返回一个新数组。
指令- 指令是 DOM 元素(例如元素、属性、CSS 等)上的标记。这些可用于创建用作新的自定义小部件的自定义 HTML 标记。AngularJS 具有内置指令,例如 ngBind、ngModel 等。
模板- 这些是带有来自控制器和模型的信息的渲染视图。这些可以是单个文件(例如index.html)或使用partials在一个页面中的多个视图。
路由- 这是切换视图的概念。
模型视图任意- MVW 是一种设计模式,用于将应用程序划分为不同的部分,称为模型、视图和控制器,每个部分都有不同的职责。AngularJS 并没有实现传统意义上的 MVC,而是更接近 MVVM(模型-视图-视图模型)。Angular JS 团队幽默地将其称为“模型视图”。
深层链接- 深层链接允许对 URL 中的应用程序状态进行编码,以便可以将其添加为书签。然后,应用程序可以从 URL 恢复到相同的状态。
依赖注入- AngularJS 有一个内置的依赖注入子系统,可以帮助开发人员轻松创建、理解和测试应用程序。
概念
下图描述了 AngularJS 的一些重要部分,我们将在后续章节中详细讨论。
AngularJS 的优点
AngularJS 的优点是 -
它提供了以非常干净和可维护的方式创建单页应用程序的能力。
它提供了 HTML 数据绑定功能。因此,它为用户提供了丰富且响应迅速的体验。
AngularJS 代码是可单元测试的。
AngularJS 使用依赖注入并利用关注点分离。
AngularJS 提供可重用的组件。
使用AngularJS,开发人员可以用简短的代码实现更多的功能。
在AngularJS中,视图是纯html页面,用JavaScript编写的控制器进行业务处理。
最重要的是,AngularJS 应用程序可以在所有主要浏览器和智能手机上运行,包括基于 Android 和 iOS 的手机/平板电脑。
AngularJS 的缺点
尽管 AngularJS 有很多优点,但这里有一些值得关注的地方 -
不安全- 作为仅 JavaScript 框架,用 AngularJS 编写的应用程序并不安全。为了保证应用程序的安全,服务器端身份验证和授权是必须的。
不可降级- 如果应用程序的用户禁用 JavaScript,那么除了基本页面之外,什么都看不到。
AngularJS 指令
AngularJS 框架可以分为三个主要部分 -
ng-app - 该指令定义 AngularJS 应用程序并将其链接到 HTML。
ng-model - 该指令将 AngularJS 应用程序数据的值绑定到 HTML 输入控件。
ng-bind - 该指令将 AngularJS 应用程序数据绑定到 HTML 标签。