Angular.js中用ng-repeat-start实现自定义显示


Posted in Javascript onOctober 18, 2016

前言

众所周知AngularJS 中可以使用 ng-repeat 显示列表数据,这对大家来说应该都不陌生了, 用起来很简单, 也很方便, 比如要显示一个产品表格, Controller 的 Javascript 代码如下:

angular.module('app', [])
.controller('MyController', MyController);

MyController.$inject = ['$scope'];
function MyController($scope) {
 // 要显示的产品列表数据;
 $scope.products = [
  {
   id: 1,
   name: 'Product 1',
   description: 'Product 1 description.'
  },
  {
   id: 2,
   name: 'Product 3',
   description: 'Product 2 description.'
  },
  {
   id: 3,
   name: 'Product 3',
   description: 'Product 3 description.'
  }
 ];
}

对应的 HTML 视图代码如下:

<table class="table">
  <tr>
   <th>id</th>
   <th>name</th>
   <th>description</th>
   <th>action</th>
  </tr>
  <tr ng-repeat="p in products">
   <td></td>
   <td></td>
   <td></td>
   <td><a href="#">Buy</a></td>
  </tr>
 </table>

运行效果图:

Angular.js中用ng-repeat-start实现自定义显示

可是如果全部页面都是每个产品占一行来显示, 未免太枯燥了, 比如用户希望这样子自定义显示:

Angular.js中用ng-repeat-start实现自定义显示

每个产品占表格的两行, 这样的效果用 ng-repeat 就没办法实现了。 不过 AngularJS 提供了 ng-repeat-start ng-repeat-end 来实现上面的需求, ng-repeat-start ng-repeat-end 的语法如下:

<header ng-repeat-start="item in items">
  Header 
 </header>
 <div class="body">
  Body 
 </div>
 <footer ng-repeat-end>
  Footer 
 </footer>

假设提供了 ['A','B'] 两个产品, 则生成的 HTML 结果如下:

<header>
  Header A
 </header>
 <div class="body">
  Body A
 </div>
 <footer>
  Footer A
 </footer>
 <header>
  Header B
 </header>
 <div class="body">
  Body B
 </div>
 <footer>
  Footer B
 </footer>

了解了 ng-repeat-startng-repeat-end 的用法之后, 上面要求的界面就很容易实现了, 代码如下:

<table class="table table-bordered">
  <tr ng-repeat-start="p in products">
   <td></td>
   <td rowspan="2"><a href="#">Buy</a></td>
  </tr>
  <tr ng-repeat-end>
   <td></td>
  </tr>
 </table>

总结

以上就是Angular.js中利用ng-repeat-start实现自定义显示的全部内容,希望本文的内容对大家学习或者使用Angular.js能有所帮助,如果有疑问大家可以留言交流,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
javascript 事件查询综合 推荐收藏
Mar 10 Javascript
超酷的网页音乐播放器DewPlayer使用方法
Dec 18 Javascript
jQuery中创建实例与原型继承揭秘
Dec 21 Javascript
jQuery实现页面滚动时层智能浮动定位实例探讨
Mar 29 Javascript
javascript验证身份证完全方法具体实现
Nov 18 Javascript
jquery实现checkbox全选全不选的简单实例
Dec 31 Javascript
JavaScript中获取Radio被选中的值
Nov 11 Javascript
Easyui form combobox省市区三级联动
Jan 13 Javascript
利用node.js写一个爬取知乎妹纸图的小爬虫
May 03 Javascript
vue项目首屏加载时间优化实战
Apr 23 Javascript
详解vue-template-admin三级路由无法缓存的解决方案
Mar 10 Javascript
vue中利用three.js实现全景图的完整示例
Dec 07 Vue.js
Bootstrap框架的学习教程详解(二)
Oct 18 #Javascript
微信小程序 教程之WXSS
Oct 18 #Javascript
微信小程序 教程之引用
Oct 18 #Javascript
Angular2中Bootstrap界面库ng-bootstrap详解
Oct 18 #Javascript
微信小程序 教程之事件
Oct 18 #Javascript
微信小程序 教程之模板
Oct 18 #Javascript
微信小程序 教程之列表渲染
Oct 18 #Javascript
You might like
php生成随机数或者字符串的代码
2008/09/05 PHP
Php 构造函数construct的前下划线是双的_
2009/12/08 PHP
一步一步学习PHP(3) php 函数
2010/02/15 PHP
使用php清除bom示例
2014/03/03 PHP
php类声明和php类使用方法示例分享
2014/03/29 PHP
微信公众号开发之微信公共平台消息回复类实例
2014/11/14 PHP
php使用CURL伪造IP和来源实例详解
2015/01/15 PHP
PHP+Mysql无刷新问答评论系统(源码)
2016/12/20 PHP
PHPCrawl爬虫库实现抓取酷狗歌单的方法示例
2017/12/21 PHP
解决jquery .ajax 在IE下卡死问题的解决方法
2009/10/26 Javascript
jquery.boxy弹出框(后隔N秒后自动隐藏/自动跳转)
2013/01/15 Javascript
jQuery on方法传递参数示例
2014/12/09 Javascript
node.js中的http.get方法使用说明
2014/12/14 Javascript
使用jquery操作session方法分享
2015/01/22 Javascript
jquery中$each()方法的使用指南
2015/04/30 Javascript
JavaScript中push(),join() 函数 实例详解
2016/09/06 Javascript
Jquery Easyui日历组件Calender使用详解(23)
2016/12/18 Javascript
快速搭建Node.js(Express)用户注册、登录以及授权的方法
2019/05/09 Javascript
原生JavaScript实现日历功能代码实例(无引用Jq)
2019/09/23 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
[55:44]OG vs NAVI 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
Python中Random和Math模块学习笔记
2015/05/18 Python
python opencv之SURF算法示例
2018/02/24 Python
在Python中使用Neo4j的方法
2019/03/14 Python
python基于SMTP协议发送邮件
2019/05/31 Python
利用Python制作动态排名图的实现代码
2020/04/09 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
全球最大的跑步用品商店:Road Runner Sports
2016/09/11 全球购物
世界上最好的精品店:Shoptiques
2018/02/05 全球购物
四川internet信息高速公路(C#)笔试题
2012/02/29 面试题
应届毕业生的自我鉴定
2013/11/13 职场文书
光荣之路观后感
2015/06/12 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server
Python+OpenCV实现在图像上绘制矩形
2022/03/21 Python
redis调用二维码时的不断刷新排查分析
2022/04/01 Redis