一旦项目使用JQuery原创javascript,最近参加了一个项目,需要使用AngularJS、RequireJS比较框架,如汰渍。
这里写一些博客,记录自己的学习过程,虽然冠以原来的名字,资料,加上自己的一些实践和理解。
再没有熟悉AngularJS之前,预计也不出什么高质量的文章,仅仅能算是学习笔记和备忘录。
练习使用的版本号是当前最新的稳定版本号1.2.25。
演示样例代码例如以下:
<!doctype html> <html lang="en" ng-app> <head> <meta charset="utf-8"> <title>Hello,World!</title> <script src="angular1.2.25.js"></script> </head> <body> <input type="text" ng-model="yourName"> <h1>Hello, {{yourName}}</h1> </body> </html>用浏览器打开这个网页。在文本框进行输入。发现界面会自己主动实时显示。假设用javascript或jquery。完毕这么一个小功能,我们组要注冊监听事件,获取text控件的值。然后将值塞入<h1>中显示。而使用AngularJS,我们须要做的事情是:加入ng-app。加入ng-model,使用{{yourName}}显示。非常显然,使用AngularJS要简单的多。并且代码更紧凑。
以下我们简单看下这3个东西的意思:
1、ng-app:它能够放在不论什么dom节点上,代表该结点以及它的全部子节点都在AngularJS的管理范围之内;假设去掉这个标记,发现AngularJS框架不会起效果。
<!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Hello,World!</title> <script src="angular1.2.25.js"></script> </head> <body> <div ng-app> <input type="text" ng-model="yourName"> <h1>Hello, {{yourName}}</h1> </div> <h1>Hello, {{yourName}}</h1> </body> </html>这次我们把ng-app放到了<div>上,能够看到div内部的<h1>能够实时显示输入的数据。而外部的<h1>没有效果。能够看到。一个html页面能够所有交予AngularJS来管理。也能够仅仅让AngularJS管理页面的一部分,我们能够按需加入ng-app所在的dom节点。
2、ng-model:这个是AngularJS数据的双向绑定特性。简单点理解:告诉AngularJS这是个数据模型,你帮我存到内存中。界面上改动数据,内存中数据也会自己主动改动;改动内存中的变量值,界面显示也会自己主动更改。这个特性显然非常方便。可以保持数据的一致性,避免我们自己加代码来完毕这个功能。
3、{{yourName}}:这个是框架提供的表达式语法。可以显示内存中数据模型的值。
这个跟struts2的<s:property>、<s:text>类似,就是用来显示数据的。
这样的仅仅是AngularJS定义的语法格式。跟JSP页面中的EL表达式。struts2的OGNL非常类似,它是得到一种机制,用于数据。