我有以下HTML/Knockout,我希望dayDivider
div
僅在有新日期時出現,即同一天的消息出現在日期標題下。通常我會將最後一個值保存在一個臨時變量中,並檢查每次。但我很新的淘汰賽,不知道從哪裏開始基於價值變化的Knockout foreach條件標籤
<div data-bind="foreach: SelectedConversation().messages()" class="messages">
<div class="row">
<div class="dayDivider"><hr/><span class="center-block" data-bind="text: moment(timestamp()).format('D MMM')"></span></div>
<!-- ko if: personId() === @Model.PersonId-->
<div class="talk-bubble tri-right right-top pull-right border">
<div class="talktext">
<span class="pull-left messageTime" data-bind="text: moment(timestamp()).format('D MMM - HH:mm')"></span>
<span class="pull-right messageFrom" data-bind="text: personFullName()"></span><br/>
<span class="pull-right messageBody" data-bind="text: message"></span>
</div>
</div>
<!-- /ko -->
<!-- ko if: personId() !== @Model.PersonId-->
<div class="talk-bubble tri-right left-top border">
<div class="talktext">
<span class="pull-right messageTime" data-bind="text: moment(timestamp()).format('D MMM - HH:mm')"></span>
<span class="pull-left messageFrom" data-bind="text: personFullName()"></span><br/>
<span class="pull-left messageBody" data-bind="text: message"></span>
</div>
</div>
<!-- /ko -->
</div>
我需要格式化時間戳才能獲取日期部分? – Flexicoder
嗯好點 - 是的,你可以將日期記入瞬間並用它來進行比較,如此; visible:$ index> 0 && moment($ parent [$ index -1]()。timestamp())。diff(moment(timestamp()),'days')> 0 – Shawson
謝謝@Shawson它很接近但是它會出現的foreach不允許訪問父項中的其他元素和$索引所需()的 – Flexicoder