在模板的另一部分使用 Aurelia 的 ${$index} for 循环

Use ${$index} from Aurelia for loop in another part of a template

无论如何,我是否可以从 Aurelia 中的 repeat.for 循环复制索引到该循环之外。我正在使用索引在我的 for 循环中创建一个 class,并且需要另一个元素来具有相同的 class,但是这个其他元素不在循环中。有没有办法做到这一点?对于循环:

<div repeat.for="conversation of conversations">
   <div if.bind="!conversation.participantPhotoUrl" class="user-initials color-${$index}"><span>J</span></div>
   <p class="view-date"><a click.delegate="makeActive(conversation)">View</a><span class="date">${conversation.daysAgo}</span></p>
</div>

我现在需要模板中的另一个元素(不在循环中)具有相同的 class。此元素生成自

click.delegate="makeActive(conversation)"

在上面的 for 循环内部。有没有办法把那个 class 传过去?

您可以将 $index 传递给函数。

 click.delegate="makeActive(conversation, $index)

然后,在函数中将其设置为主 VM 上的 属性。

 makeActive(conversation, index) {
   this.activeIndex = index;
 }