我正在寻找完成以下任务的最佳方法(Angular 方式):我有一个包含消息列表的数组,每条消息都包含作者姓名、文本和编写时间的时间戳。每条消息都绘制在一个表格中,但是消息可以堆叠在一起,因为:
- 当前消息的作者与上一条相同
- 前一个表格行的高度不超过给定的限制高度(即总可用高度的 40%)。
布局看起来像这样:
message = { author: 'x', message: 'Hello World', timeStamp: new Date() }
table
tbody
tr( data-ng-repeat = 'message in conversation.messages | parseMessage')
td.self
div.messageAuthorProfile( style = 'background-image: url(/pictures/{{ message.author | parseAuthorEmail }}/profile/0.jpg)')
div.conversation
label.messageAuthorName {{ message.author | parseAuthorName }}
div.message
div.conversationTimeStamp
span {{ message.timeStamp | parseTimeStamp }}
div.conversationMessage
p {{ message.message }}
这可以通过获取表的最后一个元素、检查其高度并在满足条件时附加消息来“轻松”实现,但是我正在努力在纯 Angular.js 解决方案中实现此功能。
谁能给我一些关于实现这一目标的可能方法的见解?
最好的问候和感谢您的阅读!
免责声明:我才开始使用 angular.js 大约一个星期,所以我目前正在通过移植几个基于 Angular 的 100% jquery 项目来学习,但是在研究和检查在线文档之后,我无法想出一个“干净的”实现这一目标的方式。