を選択し、1を選択します。しかし、1つのボックスを選択すると、1つのユーザーに対して、すべてのボックスがすべてのユーザーに対して選択されます。たとえば、Sophieのチーム(Speedy)を選択すると、すべてのチェックボックスがチェックされ、Speedyチームになります。どのように私はこれをやめますか?それぞれの人が異なるチームに参加できるようにします。燃えさしチェックボックス - すべてではないが、私はセットアップ]チェックボックスを持っており、選択されたとき、彼らは仕事エンバーバージョン2.5.1</p> <p>を使用していますすべての
(チームスピーディがチェックされている場合)、すべてのチームネームの隣には「チームスピード」が表示されます。
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)を使用してリセットしようとします。 –