循环输出列表很多项目在web服务端做,前端做好模版后后端写jsp代码,双方需要紧密合作,分清责任。有些项目由后端提供restful方法,前端用ajax调用自己循环,这种一般是大把的jquery拼字符串,太不直观,有人搞出了js模板,也没好到哪里去。
用AngularJS就爽多了,语法和JSP类似:
<!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可以返回布尔值,用于告诉你当前元素是否是集合中的第一个中间的最后一个元素。
本文地址:https://www.stayed.cn/item/23604
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我