认识AngularJS

AngularJS诞生于2009年,由Misko Hevery 等人创建,后为Google所收购。是一款优秀的前端JS框架,已经被用于Google的多款产品当中。AngularJS有着诸多特性,最为核心的是:MVVM、模块化、自动化双向数据绑定、语义化标签、依赖注入等等。

AngularJS是为了克服HTML在构建应用上的不足而设计的。

AngularJS通过使用我们称为标识符(directives)的结构,让浏览器能够识别新的语法。例如:
  • 使用双大括号{{}}语法进行数据绑定;
  • 使用DOM控制结构来实现迭代或者隐藏DOM片段;
  • 支持表单和表单的验证;
  • 能将逻辑代码关联到相关的DOM元素上;
  • 能将HTML分组成可重用的组件。
下面是一个包含了一个表单的典型CRUD(增查改删)应用。表单值先经过验证,然后用来计算总值,这个总值会被格式化成本地的样式。下面有一些开发者常见的概念,我们需要先了解一下:
1.将数据模型(data-model)关联到视图(UI)上;
2.写、读、验证用户的输入;
3.根据模型计算新的值;
4.将输出格式本地化,
index.html:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
<! doctype  html>
< html  ng-app>
< head >
< script  src = "angular-1.1.0.min.js" ></ script >
< script  src = "script.js" ></ script >
</ head >
< body >
< div  ng-controller = "InvoiceCntl" >
< b >Invoice:</ b >
< br >
< br >
< table >
< tr >< td >Quantity</ td >< td >Cost</ td ></ tr >
< tr >
< td >< input  type = "integer"  min = "0"  ng-model = "qty"  required ></ td >
< td >< input  type = "number"  ng-model = "cost"  required ></ td >
</ tr >
</ table >
< hr >
< b >Total:</ b > {{qty * cost | currency}}
</ div >
</ body >
</ html >
script.js:
function InvoiceCntl($scope) {
$scope.qty = 1;
$scope.cost = 19.95;
}
在<html>标签里, 我们用一个ng-app标识符标明这是一个AngularJS应用。这个ng-app标识符会使AngularJS自动初始化(auto initialize)应用。
我们用<script>标签来加载AngularJS脚本:
<script src="angular-1.1.0.min.js"></script>通过设置<input>标签里的ng-model属性, AngularJS会自动对数据进行双向绑定。我们还同时进行了一些简单的数据验证:
Quantity:<input type="integer"min="0"ng-model="qty"required >Cost:<input type="number"ng-model="cost"required >这个输入框的widget看起来很普通,但如果认识到以下几点那它就不普通了:
当页面加载完后,AngularJS会依照widget里的声明的模型名字(qty、cost)生成同名变量。你可以把这些变量认为是MVC设计模式中的M(Model);
注意上面widget里的input有着特殊的能力。如果你们没有输入数据或者输入的数据无效,这个input输入框会自动变红。输入框的这种新特性,能让开发者更容易实现CRUD应用里常见的字段验证功能。
上面的这个例子里,{{}}里的表达式让AngularJS把从输入框中获得的数据相乘,然后把相乘结果格式化成本地货币样式,然后输出到页面上。
 
AngularJS 表达式
  • AngularJS 表达式写在双大括号内:{{ expression }}。
  • AngularJS 表达式把数据绑定到 HTML,这与ng-bind指令有异曲同工之妙。
  • AngularJS 将在表达式书写的位置"输出"数据。
  • AngularJS 表达式很像JavaScript 表达式:它们可以包含文字、运算符和变量。
 

转载于:https://www.cnblogs.com/f19huangtao/p/4862701.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值