我正在使用Ember版本2.5.1余烬复选框 - 选择1,并非全部全选
我已设置复选框,并且它们在选中时工作。但是,当我选择一个框时,对于一个用户,所有用户都会选中所有框。例如,如果我为Sophie选择一个团队(Speedy),那么每个复选框最终都会被检查并加入Speedy团队。我如何解决这个问题?做到这一点,每个人都可以在不同的团队中。
例如outwork是每个人的名字列表,(如果'Team Speedy'被勾选),每个人名字旁边是'Team Speedy'。
teams.hbs;
<div class="container">
<table class="table">
<thead class="thead-inverse">
<tr>
<th>Name</th>
<th>Team Speedy</th>
<th>Team Alpha</th>
<th>Team Invincible</th>
</tr>
</thead>
<tbody>
{{#each model as |signed-player|}}
<tr>
<td> {{signed-player.name}} </td>
<td> {{input type='checkbox' checked=speedy}} </td>
<td> {{input type='checkbox' checked=alpha}} </td>
<td> {{input type='checkbox' checked=invincible}} </td>
</tr>
{{/each}}
</tbody>
</table>
{{#each model as |signed-player|}}
<p><b>{{signed-player.name}}</b> is on the following team: <b>{{teamName}}</b></p>
{{/each}}
</div>
控制器/ team.js
speedy: false,
alpha: false,
invincible: false,
teamName: function()
{
if (this.get('speedy')) {
return 'Team Speedy';
}
else if (this.get('alpha')) {
return 'Team Alpha';
}
else if (this.get('invincible')) {
return 'Team Invincible';
}
else {
return 'No team yet';
};
}.property('speedy', 'alpha', 'invincible'),
我认为你的问题是,控制器是单身人士。这意味着即使用户更改,当您修改路线时,复选框仍会保持选中状态。因此,在setupController(控制器,模型)中的路由中尝试使用controller.set('speedy',null)重置它们 –