博弈AngularJS讲义(一) - 快速开始
AngularJS ?
AngularJS是一款非常优秀的前端MVVM(Model-View-ViewModel)框架,它强大的双向数据绑定(two-way data binding)和依赖注入(dependency injection), 使得前段代码结构更具层次化和模块化,极大减少了前端代码量。 通过AngularJS可以扩展HTML的语法,让页面显得更加简洁。 由于国内访问Google Site受限,所以广大的爱好者可能无法访问到最好的AngularJS资源,我们将在稍后的章节中结合大量的官方代码片段对AngularJS进行详解,尽显其强大之处。
AngularJS的使用场景
AngularJS主要适用于CRUD(增、删、改、查)类的应用,基于其强大的数据绑定,模版指令定制,路由,表单验证,组建重用以及依赖注入。此外Angular还提供了丰富的自动化测试工具。
让我们从一个简单例子开始
1. 从本文附件中下载AngularJS框架代码
2. 使用你喜爱的文本编辑器,创建html文件, 加入如下内容:
<!doctype html> <html ng-app> <head> <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.3/angular.min.js"></script> </head> <body> <div> <label>Name:</label> <input type="text" ng-model="yourName" placeholder="Enter a name here"> <hr> <h1>Hello {{yourName}}!</h1> </div> </body> </html>
注意: 请在script里面引入你所用的angularjs的正确地址。
3. 在浏览器中运行以上代码,结果如图所示。
现在让我们分析一下代码。 首先值得注意的是在html标签里面的“ng-app”属性,这是AngularJS内置的一个标记(directives), 但页面加载时,AngularJS会自动识别相应的标记,对页面进行预处理(compile), “ng-app”告诉AngularJS这是一个AngularJS的应用,接下来在<input>的标签中有一个ng-model="yourName",AngularJS自动给改input标签绑定一个model属性"yourName", 该控件的value会自动赋给绑定的属性,最后看到的是一个模板<h1>Hello {{yourName}}!</h1>的, “{{}}”是AngularJS表达式(expression),可绑定前面<input>说关联的model属性,这样在input中输入不同的文本, 就可以在Hello语句中实时看到更新的值了。 这正是数据绑定的强大之处, 不需要再写额外的js代码来注册监听事件了。
在此我们初步领略了AngularJS的强大。我们将在下个章节中,详细介绍AngularJS的一些核心概念。