AngularJS 初探
AngularJS,诞生于2009年,由Misko Hevery等人创建,后为Google所收购。这是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。
AngularJS是为了克服HTML在构建应用上的不足而设计的。HTML是一门很好的为静态文本展示设计的声明式语言,但要构建WEB应用的话它就显得乏力了。所以我做了一些工作(你也可以觉得是小花招)来让浏览器做我想要的事。
通常,我们是通过以下技术来解决静态网页技术在构建动态应用上的不足:
类库 - 类库是一些函数的集合,它能帮助你写WEB应用。起主导作用的是你的代码,由你来决定何时使用类库。类库有:jQuery等
框架 - 框架是一种特殊的、已经实现了的WEB应用,你只需要对它填充具体的业务逻辑。这里框架是起主导作用的,由它来根据具体的应用逻辑来调用你的代码。框架有:knockout、sproutcore等。
AngularJS使用了不同的方法,它尝试去补足HTML本身在构建应用方面的缺陷。AngularJS通过使用我们称为标识符(directives)的结构,让浏览器能够识别新的语法。例如:
使用双大括号{{}}语法进行数据绑定;
使用DOM控制结构来实现迭代或者隐藏DOM片段;
支持表单和表单的验证;
能将逻辑代码关联到相关的DOM元素上;
能将HTML分组成可重用的组件。
【来自百度百科】
实话实说,上面的句子我也看的不太明白,对于码农来说,最直接的表述莫过于看代码了。
前期准备:
需要安装Node.js和Testacular来运行本项目,请到Node.js官方网站下载并安装最新版,然后把node可执行程序路径添加到系统环境变量PATH中,完成后在命令行中运行一下命令可以查看是否安装成功:
node -version
然后安装Testacular单元测试程序,请运行如下命令:
npm install -g testacular
Hello AngularJS World!
【代码1】
1 <!doctype html> 2 <html ng-app> 3 <head> 4 <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script> 5 </head> 6 <body> 7 你好 {{'码农'}}! 8 </body> 9 </html>
【代码2】
1 <!doctype html> 2 <html ng-app> 3 <head> 4 <script src="http://code.angularjs.org/angular-1.0.1.min.js"></script> 5 </head> 6 <body> 7 你的名字: <input type="text" ng-model="name" placeholder="World"> 8 <hr> 9 你好 {{name || '码农'}}! 10 </body> 11 </html>
有了它,你不用再“直接”操控DOM,只要给你的DOM注上metadata(即AngularJS里HTML的扩展属性),然后让AngularJS来帮你操纵DOM。同时,AngularJS不依赖(也不妨碍)任何其他的框架。你甚至可以基于其它的框架来开发AngularJS应用。
AngularJS官网已被墙,相关资源没有整合,尽力搜索中!
此文为AngularJS初探,如有不妥,多多指正!