多个foreach绑定淘汰js

时间:2014-02-19 01:52:32

标签: knockout.js

我正在使用以下两个foreach:

      <div class="sgMail" data-bind="foreach : mails">...</div>

      <div class="sgMail" data-bind="foreach : archived">..</div>     

如果我点击收件箱,foreach:邮件应该执行,其他foreach存档不应该执行。

怎么做?请帮忙

1 个答案:

答案 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绑定。