AngularJs主要用于构建单页面web应用。它通过增加开发人员和常见web应用开发任务之间的抽象级别,使构建交互式的现代web应用变得更加简单。
AngularJs使开发web应用变得非常简单,同时也降低了构建复杂应用的难度。它提供了开发者在现代web应用总经常要用到的一系列高级功能,例如:
- 解耦应用逻辑,数据模型和视图
- ajax服务
- 依赖注入
- 浏览历史
- 测试
- 双向数据绑定
- 更多功能
现在我们就先从hello word来看看数据绑定
JS Bin on jsbin.com
这里是使用了ng-model指令将内部数据模型对象($scope)中的name属性绑定到了文本输入的字段上面,这意味着不论在文本输入字段中输入什么,都会同步到数据模型中。
DOM元素上的ng-controller,声明所有被它包含的元素都属于某个控制器,下面是一个例子:
JS Bin on jsbin.com
由于javascript自身的特点,以及它在传递值和引用时的不同处理方式,通常认为,在视图中通过对象的属性而非对象本身来引用绑定,是angular中的最佳实践。下面就把最佳实践应用到上面时钟的例子中:
JS Bin on jsbin.com
这里用了$apply进行了一个绑定操作,以后再具体解释$apply的用法