Javascript 使用Aurelia在选择选项中有条件地添加属性

Javascript 使用Aurelia在选择选项中有条件地添加属性,javascript,html,aurelia,Javascript,Html,Aurelia,我只是尝试创建一个repeat.for循环,它将在我的应用程序中为表单中的select元素生成选项。我希望添加所选的 属性设置为我的select元素的最后一个选项,但无法确定如何管理它。my select的代码如下所示: <select select class="browser-default" value.bind="maxPlayers"> <option repeat.for="num of numPlayers" value.bind="num">${num

我只是尝试创建一个repeat.for循环,它将在我的应用程序中为表单中的select元素生成选项。我希望添加所选的
属性设置为我的select元素的最后一个选项,但无法确定如何管理它。my select的代码如下所示:

<select select class="browser-default" value.bind="maxPlayers">
  <option repeat.for="num of numPlayers" value.bind="num">${num}</option>
</select>

因此,我的问题是如何将所选属性仅添加到select元素中的最后一个option元素?我知道有一个名为$last的布尔值,它指示我是否在最后一个元素上,但我不知道如何正确地合并它。似乎我应该能够通过将
selected.bind=“$last”
添加到option元素来让它工作,但这似乎没有任何效果

您需要将
$last
变量与循环中的当前
$index
进行比较,如下所示

<select select class="browser-default" value.bind="maxPlayers">
  <option repeat.for="num of numPlayers" value.bind="num" selected.bind="$index === $last">${num}</option>
</select>

${num}

在选项元素上使用
model.bind
。HTMLOptionElement的value属性将所有值强制为字符串

下面是一个例子:

app.html


${num}
app.js

导出类应用程序{
numPlayers=[2,3,4];
maxPlayers=4;
}

有关绑定选择元素的更多信息,请单击此处:

非常感谢!我不知道我怎么会在文档中漏掉这个。这正是我需要的。如果您不介意的话,您能解释一下当我绑定到model属性时到底发生了什么吗?
<select select class="browser-default" value.bind="maxPlayers">
  <option repeat.for="num of numPlayers" value.bind="num" selected.bind="$index === $last">${num}</option>
</select>