什么是Angular?
AngularJS是一个开发动态Web应用的框架。它让你可以使用HTML作为模板语言并且可以通过扩展的HTML语法来使应用组件更加清晰和简洁。它的创新之处在于,通过数据绑定和依赖注入减少了大量代码,而这些都在浏览器端通过JavaScript实现,能够和任何服务器端技术完美结合。
Angular是为了扩展HTML在构建应用时本应具备的能力而设计的。对于静态文档,HTML是一门很好的声明式的语言,但对于构建动态WEB应用,它无能为力。所以,构建动态WEB应用往往需要一些技巧才能让浏览器配合我们的工作。
通常,我们通过以下手段来解决动态应用和静态文档之间不匹配的问题:
- 类库 - 一些在开发WEB应用时非常有用的函数的集合。你的代码起主导作用,并且决定何时调用类库的方法。例如:
jQuery
等。 - 框架 - 一种WEB应用的特殊实现,你的代码只需要填充一些具体信息。框架起主导作用,并且决定何时调用你的代码。例如:
knockout
,ember
等。
Angular另辟蹊径,它尝试去扩展HTML的结构来弥合以文档为中心的HTML与实际Web应用所需要的HTML之间的鸿沟。Angular通过指令(directive)扩展HTML的语法。例如:
- 通过
{{}}
进行数据绑定。 - 使用DOM控制结构来进行迭代或隐藏DOM片段。
- 支持表单和表单验证。
- 将逻辑代码关联到DOM元素上。
- 将一组HTML做成可重用的组件。
Angular的重要概念
概念 | 说明 |
模板(Template) | 带有Angular扩展标记的HTML |
指令(Directive) | 用于通过自定义属性和元素扩展HTML的行为 |
模型(Model) | 用于显示给用户并且与用户互动的数据 |
作用域(Scope) | 用来存储模型(Model)的语境(context)。模型放在这个语境中才能被控制器、指令和表达式等访问到 |
表达式(Expression) | 模板中可以通过它来访问作用域(Scope)中的变量和函数 |
编译器(Compiler) | 用来编译模板(Template),并且对其中包含的指令(Directive)和表达式(Expression)进行实例化 |
过滤器(Filter) | 负责格式化表达式(Expression)的值,以便呈现给用户 |
视图(View) | 用户看到的内容(即DOM) |
数据绑定(Data Binding) | 自动同步模型(Model)中的数据和视图(View)表现 |
控制器(Controller) | 视图(View)背后的业务逻辑 |
依赖注入(Dependency Injection) | 负责创建和自动装载对象或函数 |
注入器(Injector) | 用来实现依赖注入(Injection)的容器 |
模块(Module) | 用来配置注入器 |
服务(Service) | 独立于视图(View)的、可复用的业务逻辑 |
文章引自http://docs.ngnice.com/guide
时间: 2024-10-05 18:39:20