AngularJS表达式介绍
AngularJS 使用表达式把数据绑定到 HTML。 表达式写在双大括号内:{{ expression }}
表达式把数据绑定到 HTML,这与 ng-bind 指令有异曲同工之妙。会在表达式书写的位置直接”输出”数据。
AngularJS 表达式很像 JavaScript 表达式:它们可以包含文字、运算符和变量。 示例:{{ 5 + 5 }} 或 {{ firstName + " " + lastName }}
<body>
<div ng-app="" ng-init="firstName='John'">
<p>You Name : <input type="text" ng-model="name"></p>
<h1>Hello {{name}}</h1>
<span ng-bind="firstName"></span>
<span>{{ 5 + 5 }}</span>
<span>{{ firstName + 5 }}</span>
</div>
</body>
Code language: HTML, XML (xml)
示例1:表达式运算(乘法)
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="" ng-init="quantity=6;cost=5">
<p>Price: {{ quantity * cost }}</p>
</div>
</body>
</html>
Code language: HTML, XML (xml)
示例2:字符串拼接,对比{{}}与ng-bind
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="" ng-init="firstName='John';lastName='Doe'">
<p>姓名: {{ firstName + " " + lastName }}</p>
<p>姓名2: <span ng-bind="firstName + ' ' + lastName"></span></p>
</div>
</body>
</html>
Code language: HTML, XML (xml)
AngularJS 对象
AngularJS 对象就像 JavaScript 对象,可以用.访问属性。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="" ng-init="person={firstName:'John',lastName:'Doe'}">
<p>姓氏: {{ person.lastName }}</p>
<p>姓氏2: <span ng-bind="person.lastName"></span></p>
</div>
</body>
</html>
Code language: HTML, XML (xml)
AngularJS 数组
AngularJS 数组就像 JavaScript 数组,通过下标取值。
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<script src="https://cdn.staticfile.org/angular.js/1.4.6/angular.min.js"></script>
</head>
<body>
<div ng-app="" ng-init="points=[1,15,19,2,40]">
<p>第三个元素: {{ points[2] }}</p>
<p>第三个元素: <span ng-bind="points[2]"></span></p>
</div>
</body>
</html>
Code language: HTML, XML (xml)
补充知识点:
{{}}和ng-bind的小区别 页面加载时,{{}}会短暂闪现原始大括号(闪烁问题);ng-bind不会出现闪烁,适合标题等关键文本。