用AngularJS就爽多了,语法和JSP类似:
?
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
<!doctype html>
<html ng-app>
<head>
<meta charset="utf-8">
<title>ng-repeat directive</title>
</head>
<body>
<table ng-controller="CartController">
<caption>我的购物车</caption>
<tr>
<th>序号</th>
<th>商品</th>
<th>单价</th>
<th>数量</th>
<th>金额</th>
<th> *** 作</th>
</tr>
<tr ng-repeat="item in items">
<td>{{$index + 1}}</td>
<td>{{item.name}}</td>
<td>{{item.price | currency}}</td>
<td><input ng-model="item.quantity"></td>
<td>{{item.quantity * item.price | currency}}</td>
<td>
<button ng-click="remove($index)">Remove</button>
</td>
</tr>
</table>
<script src="../lib/angularjs/1.2.26/angular.min.js"></script>
<script>
function CartController($scope) {
$scope.items = [
{name: "雷柏(Rapoo) V500 机械游戏键盘 机械黄轴", quantity: 1, price: 199.00},
{name: "雷柏(Rapoo) V20 光学游戏鼠标 黑色烈焰版", quantity: 1, price: 139.00},
{name: "AngularJS权威教程", quantity: 2, price: 84.20}
]
$scope.remove = function (index) {
$scope.items.splice(index, 1)
}
}
</script>
</body>
</html>
ng-repeat指令生命在需要循环内容的元素上,items和控制器上的变量名对应,item是为数组中单个对象起的别名。$index可以返回当前引用对象的序号,从0开始,另外还有$first、$middle、$last可以返回布尔值,用于告诉你当前元素是否是集合中的第一个中间的最后一个元素。
用原生的for就可以啊,angularJs里面有个angular.forEach,你可以试试<!DOCTYPE html>
<html ng-app="test">
<head>
<title>angularJs-forEach</title>
</head>
<body>
<div ng-controller="ForEachCtrl">{{text}}</div>
<script type="text/javascript" src="../js/angular.min.js"></script>
<script type="text/javascript">
var test = angular.module('test', [])
test.controller('ForEachCtrl', function($scope){
var arr = ['A', 'B', 'C'],
text = []
angular.forEach(arr, function(value, key) {
this.push(key+ ":" + value)
}, text)
$scope.text = text.join(' ')
})
</script>
</body>
</html>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)