我正在使用以下两个foreach:
<div class="sgMail" data-bind="foreach : mails">...</div>
<div class="sgMail" data-bind="foreach : archived">..</div>
如果我点击收件箱,foreach:邮件应该执行,其他foreach存档不应该执行。
怎么做?请帮忙
答案 0 :(得分:1)
要直接回答您的问题,您可以使用标志来确定要显示的内容:
<!-- ko if: showingArchived -->
<div class="sgMail" data-bind="foreach : mails">...</div>
<!-- /ko -->
<!-- ko if: !showingArchived() -->
<div class="sgMail" data-bind="foreach : archived">..</div>
<!-- /ko -->
您可能需要考虑使用一个数组并在适当的时候对其进行过滤。 Knockout的绑定将自动更新界面。此外,您可以使用一个foreach
并在内部元素中应用if
绑定。