admin 管理员组

文章数量: 1086019


2024年5月17日发(作者:concat方法用于字符串串联)

AngularJS是什么?

AngularJS扩展了HTML?

看了几天AngularJS的各种中文教程,一直没有理解AngularJS是做什么的。

直到今天了英文文档,才有了初步了解。

HTML是静态语言。

JavaScript是为了操作HTML 的DOM。

JQuery是对JavaScript进行封装了的类库。

那么AngularJS是什么呢?

AngularJS是把HTML进行扩展,这句话很多教程里都会提及,但是我一直不明白这个“扩

展”是什么意思。

英文文档中有一句:Attaching new behavior to DOM elements, such as DOM e

vent handling.我才知道,所谓的“扩展”就是让HTML从“静态”变成“动态”,给DOM中

的元素添加一些行为,在我们看来,仿佛HTML DOM元素自己有了自己的行为,不需要

通过JavaScript去操纵,需要用到JavaScript的地方就是用JavaScript去描述DOM元

素的行为。

AngularJS适用场景?

AngularJS适用于CRUD操作的web应用,不适用与游戏、图形编辑器这种DOM操作

频繁的web应用。

AngularJS的一些概念

网上的太杂乱,还说不清,自己看了看,感觉理解深入了一些。

Template 模版: 含有附加标记的HTML;

Directives 指令: 扩展HTML所用的自定义属性和元素

Model 模型: 用户看到的并与之交互的视图View中的数据

Scope 范围: 存储模型Model的一个context,以便控制器、指令、表达

式能够访问模型Model。

Expressions 表达式: 访问Scope中的variables和functions

Compiler 编译器: 解析模版template,实例化指令directives和表达式expr

essions

Filter 过滤器: 把一个表达式expression的值按照一定的格式展示给用户;

View 视图: 用户看到的。(也可以叫HTML DOM)

Data Binding 数据绑定: 同步模型Model和视图View中的数据。

Controller 控制器: 视图View背后的业务逻辑。

Dependency Injection 依赖注入:(创建creates+连接wires)(对象objects+功

能functions)

Injector 注入器: 依赖注入的容器。

Module 模块: 一个用来配置注入器的容器,里边包含了一个app的控制器、

服务、过滤器、指令

Service 服务: 独立于视图Views的可复用的业务逻辑。

AngularJS例子

?

1

2 Invoice:

3

4 Quantity:

5

6

7 Costs:

8

9

10 Total: {{qty * cost | currency}}

11

12

上边的这段代码,和HTML很像,就是多了一些新的标记,在Angular中,这个文件就叫

模版“template”。


本文标签: 视图 指令 注入 行为 理解