我正在使用AngularJS和JavaScript制作聊天应用程序,当您开始与某人对话时,我想要显示一个div(图片中的蓝色日期),以显示对话具有begon的日期。当谈话结束并在另一个日期再次开始时,我想在那一天只显示一次日期div。当你向上滚动时,然后从另一个日期看到对话。
正如您所看到的,2015年4月17日开始对话,2015年5月5日开始对话。当我从今天开始输入日期时,会多次显示。
我不知道如何修复它。任何帮助将不胜感激。
修改
以下是HTML中的一些代码:
<div sd-slimscroll sd-height="auto" sd-color="#878787" sd-always-visible="true" sd-size="5px" class="conversation-container">
<!-- WHOLE MESSAGE FROM USER/ADMIN (INCLUDING DATE) -->
<div class="{{ message.animationClass }}" ng-repeat="message in conversation.Messages">
<!-- DATE (BLUE DATE IN IMAGE -->
<div class="row">
<div class="col-lg-12">
<div class="date text-center">
{{ message.time | date: "dd MMMM yyyy" }}
</div>
</div>
</div>
<!-- WHAT THE USER/ADMIN HAS TYPED -->
<div class="row">
<div class="col-lg-12">
<div class="media {{ message.messageClass }}">
<div class="media-body">
<h5 class="media-heading">{{conversation.Person.name}}</h5>
{{ message.text }} <img class="img-responsive" ng-show="message.imageURL" src="{{ message.imageURL }}"/><br />
<div class="message-time">{{ message.time | date: "HH:mm" }}</div>
</div>
</div>
</div>
</div>
</div>
答案 0 :(得分:0)
检查今天的日期是否已经显示(在变量中),如果是,则不要显示。在第二天,相同的逻辑将在开始时显示日期,并且直到第二天才显示它。