Javascript Angularjs ng重复连接记录

Javascript Angularjs ng重复连接记录,javascript,jquery,angularjs,Javascript,Jquery,Angularjs,我希望找到实现以下目标的最佳方法(角度法): 我有一个包含消息列表的数组,每条消息都包含作者的姓名、文本和编写时的时间戳。 每个消息都绘制在一个表中,但是,如果满足以下条件,则可以将消息堆叠在一起: 当前消息的作者与前一个消息的作者相同 上一表格行的高度不超过给定的限制高度(即总可用高度的40%) 布局如下所示: message = { author: 'x', message: 'Hello World', timeStamp: new Date() } table tbody

我希望找到实现以下目标的最佳方法(角度法): 我有一个包含消息列表的数组,每条消息都包含作者的姓名、文本和编写时的时间戳。 每个消息都绘制在一个表中,但是,如果满足以下条件,则可以将消息堆叠在一起:

  • 当前消息的作者与前一个消息的作者相同
  • 上一表格行的高度不超过给定的限制高度(即总可用高度的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 }}
通过使用jquery获取表的最后一个元素、检查其高度并在满足条件的情况下追加消息,可以“轻松”实现这一点,但是我正努力在纯Angular.js解决方案中实现这一功能

有谁能给我一些关于实现这一目标的可能方法的见解吗

最好的问候和感谢阅读


免责声明:我刚开始使用angular.js大约一周,所以我目前正在学习将两个100%基于jquery的项目移植到angular,但是,在研究和检查了在线文档之后,我无法想出一个“干净的方法”来实现这一点。

考虑这一点的最佳方法是考虑如何使用阵列数据,然后让视图反映数据

因此,如果我理解了您的问题,那么您正在尝试按作者对行进行分组。
我倾向于使用underline.js进行数组操作(这非常好)

它将按作者对您的数据进行分组。
然后在角度视图中,重复2次ng。外部为您的组,内部为消息和时间戳。

这将显示为每位作者列出的消息和时间戳。

感谢您的回复Anton!不幸的是,我想我没有说清楚,消息可以从缓存加载,也可以实时发送,并且它们按时间戳(发送定时)排序,因此,如果它们是连续的,则它们仅按每个用户堆叠,这是数据建模的第二个要求(在本例中为表行)不超过200 px。特别是对于复杂的缓存或实时分组业务逻辑,根据需要的规则对数据进行分组,如果将实时数据添加到模型中,这一点就变得至关重要。然后在我的回答中使用视图逻辑。对于200px,这就是视图逻辑,通过将css max height设置为200px,它将非常简单