AngularJS是为了克服HTML在构建应用上的不足而设计的。通常,我们是通过以下技术来解决静态网页技术在构建动态应用上的不足:
- 类库 - 类库是一些函数的集合,它能帮助你写WEB应用。起主导作用的是你的代码,由你来决定何时使用类库。类库有:jQuery等
- 框架 - 框架是一种特殊的、已经实现了的WEB应用,你只需要对它填充具体的业务逻辑。这里框架是起主导作用的,由它来根据具体的应用逻辑来调用你的代码。框架有:knockout、sproutcore等。
AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷。AngularJS通过使用我们称为标识符(directives)的结构,让浏览器能够识别新的语法。例如:
- 使用双大括号语法进行数据绑定;
- 使用DOM控制结构来实现迭代或者隐藏DOM片段;
- 支持表单和表单的验证;
- 能将逻辑代码关联到相关的DOM元素上;
- 能将HTML分组成可重用的组件。
Demo
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
|
ng-app表明angularjs将对其标签声明内的dom进行处理,index名字是作用域名,表明属于index作用域。angular.module(‘index’,[]).controller表明在index作用域内定义controller,同理ng-controller表明其内的变量属于IndexCtrl。 ng-model声明此标检绑定在new_contact变量,angularjs控制其值随变量而改变。ng-click声明由add_contact处理点击。在li标签里面的ng-repeat=“contact in contacts"语句是一个AngularJS迭代器。这个迭代器告诉AngularJS用第一个li标签作为模板为列表中的每一个联系人创建一个li元素。由此当点击新增按钮时将输入框内所代表的model添加到contacts内,并将add_contact变量置空,而页面的显示由angularjs自动完成。 angularjs只对ng-app内的dom起作用,因此可以在任何页面使用angularjs而不破坏ng-app外的所有dom,js。 angularjs与restful后端交互非常方便,使用ngResource组件,声明好CRUD的路径、http veb,就可方便调用save,update与后端交互。 Demo
1 2 3 4 5 6 |
|
转载请注明出处:me.angry-arthas.com/blog/2015/09/06/angularjsqian-chang-1/