AngularJS是一个JavaScript框架。它可以通过<script>标记被添加到HTML页面中。

  AngularJS通过指令对HTML属性进行了扩展,然后通过表达式将数据绑定到HTML元素中。


AngularJS是一个JavaScript框架

  AngularJS是一个JavaScript框架,它是由JavaScript语言编写的类库。

  AngularJS以JavaScript文件的形式进行发布,我们可以通过script标记将它添加到web页面中:

<script src="http://cdn.bootcss.com/angular.js/1.3.14/angular.min.js"></script>

AngularJS扩展了HTML

  AngularJS通过一系列ng-directives指令对HTML进行扩展。

  ng-app指令定义了AngularJS application。

  ng-model指令将HTML控件的值与数据模型绑定到一起。

  ng-bind指令将模型数据绑定到HTML视图。

<script src="http://cdn.bootcss.com/angular.js/1.3.14/angular.js"></script>
<body> <div ng-app="">
<p>Name: <input type="text" ng-model="name"></p>
<p ng-bind="name"></p>
</div> </body>

运行

示例说明:

  当页面加载完成时AngularJS自动开始执行。

  ng-app指令告诉AngularJS它所在的<div>元素是AngularJS Application的根元素。

  ng-model指令将input标签的值绑定给变量name

  ng-bind指令将变量name的值绑定给<p>元素的innerHTML属性。


AngularJS指令

  就如你所看到的,AngularJS指令就是一组以ng开头的HTML属性。

  通过ng-init指令可以将AngularJS Application的变量进行初始化。

<div ng-app="" ng-init="firstName='John'">

<p>The name is <span ng-bind="firstName"></span></p>

</div>

运行

等效的代码:

<div data-ng-app="" data-ng-init="firstName='John'">

<p>The name is <span data-ng-bind="firstName"></span></p>

</div>

运行

你可以使用前缀data-ng-来代替ng-,这样可以确保页面上的HTML是有效的(valid)。

  在后面的章节中你将会学习到更多的AngularJS指令。


AngularJS表达式

  AngularJS表达式写在双大括号中:{{ 表达式语句 }}

  AngularJS会准确地将表达式“输出”为计算的结果,例如:

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body> <div ng-app="">
<p>My first expression: {{ 5 + 5 }}</p>
</div> </body>
</html>

运行

  AngularJS表达式绑定数据到HTML的方式与ng-bind指令的方式相同。

<!DOCTYPE html>
<html>
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script>
<body> <div ng-app="">
<p>Name: <input type="text" ng-model="name"></p>
<p>{{name}}</p>
</div> </body>
</html>

运行

  在后面的章节中你将会学习到更多有关AngularJS表达式的内容。


AngularJS Application

  AngularJS模块定义了AngularJS Applications。

  AngularJS控制器则控制着AngularJS Applications的行为。

  ng-app指令用于指定application,而ng-controller指令则用来指定控制器。

<div ng-app="myApp" ng-controller="myCtrl">

First Name: <input type="text" ng-model="firstName"><br>
Last Name: <input type="text" ng-model="lastName"><br>
<br>
Full Name: {{firstName + " " + lastName}} </div> <script>
var app = angular.module('myApp', []);
app.controller('myCtrl', function($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
});
</script>

运行

  AngularJS模块定义applications:

var app = angular.module('myApp', []);

  AngularJS控制器控制AngularJS Applications的行为:

app.controller('myCtrl', function($scope) {
$scope.firstName= "John";
$scope.lastName= "Doe";
});

  在后面的章节中你将会学习到更多有关模块和控制器的内容。

AngularJS快速入门指南02:介绍的更多相关文章

  1. AngularJS快速入门指南03:表达式

    AngularJS通过表达式将数据绑定到HTML. AngularJS表达式 AngularJS表达式写在双大括号中:{{ 表达式语句 }}. AngularJS表达式绑定数据到HTML的方式与ng- ...

  2. AngularJS快速入门指南01:导言

    AngularJS使用新的attributes扩展了HTML AngularJS对单页面应用的支持非常好(SPAs) AngularJS非常容易学习 现在就开始学习AngularJS吧! 关于本指南 ...

  3. AngularJS快速入门指南20:快速参考

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  4. AngularJS快速入门指南19:示例代码

    本文给出的大部分示例都可以直接运行,通过点击运行按钮来查看结果,同时支持在线编辑代码. <div ng-app=""> <p>Name: <input ...

  5. AngularJS快速入门指南18:Application

    是时候创建一个真正的AngularJS单页面应用程序了(SPA). 一个AngularJS应用程序示例 你已经了解了足够多的内容来创建第一个AngularJS应用程序: My Note Save Cl ...

  6. AngularJS快速入门指南17:Includes

    使用AngularJS,你可以在HTML中包含其它的HTML文件. 在HTML中包含其它HTML文件? 当前的HTML文档还不支持该功能.不过W3C建议在后续的HTML版本中增加HTML import ...

  7. AngularJS快速入门指南16:Bootstrap

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  8. AngularJS快速入门指南15:API

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

  9. AngularJS快速入门指南14:数据验证

    thead>tr>th, table.reference>tbody>tr>th, table.reference>tfoot>tr>th, table ...

随机推荐

  1. 如何在A用户下建立视图,这个视图是A的表与B的表进行关联的?

    这个前提条件是,同一个数据库,不同用户!!!如果是不同数据库,就要用dblink了 一开始,我直接创建视图,但是提示“权限不足”: 于是我是用A登陆,直接用select * from B.sa_tas ...

  2. DrawingControl控件在Add Page时报故障的问题

    Visio二次开发用到了Drawing Control控件.在控件上添加新页面时,visual编译器报内存保护故障“尝试读取或写入受保护的内存.这通常指示其他内存已损坏.”,这个问题困扰了我很久,最后 ...

  3. ffmpeg未整理好,有时间整理下

    v  容器(Container) v  容器就是一种文件(封装)格式,比如flv.mkv.ts.mp4.rmvb.avi等.包含下面5种流以及文件头信息. v  流(Stream) v  是一种视频数 ...

  4. hdu 2669 Romantic (乘法逆元)

    Romantic Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  5. H5-杂七杂八的标签

    1.overflow:设置当内容超出父级的宽高尺寸设置时的处理方式 a.hidden:隐藏超出部分的内容 b.auto:如果内容没有超出,就正常显示,如果超出,就隐藏内容并提供滚动条,可以滚动显示超出 ...

  6. Eclipse 3.5使用dropins的插件安装方式

    以前安装Eclipse插件有两种方式 1 直接copy插件到features/plugins目录 2 在links目录下创建链接文件. 而 Eclipse 3.5又推出另一种新的安装途径, 更加灵活. ...

  7. 20145225《Java程序设计》 第4周学习总结

    20145225<Java程序设计> 第4周学习总结 教材学习内容总结 第六章 继承与多态 6.1继承 继承共同行为:存在着重复,可把相同的程序代码提升(pull up)为父类.exten ...

  8. vb.net加密解密方法

    1.vb.net加密解密方法 Private Function getLicenseDate() As String Dim b() As Byte Dim path As String = Serv ...

  9. 个人博客作业week5

    请阅读下述关于敏捷开发方法文章,并在个人博客上写一篇读后感. Martin Fowler:  http://martinfowler.com/agile.html 截止时间:10月20日前.

  10. EF 实践

    一.CodeFirst 1.新建MVCEFManger(业务层)项目 在该项目下引入entityframework 安装包(用来生成数据库或者实体) PM> install-package en ...