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 2 3 4 5 6 7 你好 { {'码农'}}!8 9
【代码2】
1 2 3 4 5 6 7 你的名字: 8
9 你好 { {name || '码农'}}!10 11
有了它,你不用再“直接”操控DOM,只要给你的DOM注上metadata(即AngularJS里HTML的扩展属性),然后让AngularJS来帮你操纵DOM。同时,AngularJS不依赖(也不妨碍)任何其他的框架。你甚至可以基于其它的框架来开发AngularJS应用。
AngularJS官网已被墙,相关资源没有整合,尽力搜索中!
此文为AngularJS初探,如有不妥,多多指正!