現在、最新のember.jsリリースで遊んでおり、単純な「ユーザー名の追加/ユーザー名の削除」helloworldアプリを作成しています。これまでのところ、ユーザーを追加できます(以下のコントローラーメソッドを使用)。また、HTMLにチェックボックスがあり、クリックするとユーザーが削除されますが...現在、チェックボックスのブール値のみを取得して渡すことができます。代わりに、ユーザー名を検索してコントローラーのコンテンツから削除する必要があります。
bool値の代わりに実際のユーザー名を渡すことができるように、以下のhtml /ビューコードを再実行するにはどうすればよいですか?
前もって感謝します!
PersonApp.ModifyPersonCheckbox = Em.Checkbox.extend({
change: function(event) {
PersonApp.personController.removePerson(this.$().val());
},
});
PersonApp.personController = Em.ArrayProxy.create({
content: [],
createPerson: function(username) {
var person = PersonApp.Person.create({ username: username });
this.pushObject(person);
},
removePerson: function(username) {
person = this.content.findProperty('username', username);
this.removeObject(person);
}
});
以下の基本的なhtmlは、checkedBindingがどのように接続されているかを示しています。
<ul>
{{#each PersonApp.personController}}
<li {{bindAttr class="isActive"}}>
<label>
{{view PersonApp.ModifyPersonCheckbox checkedBinding="isActive"}}
{{username}}
</label>
</li>
{{/each}}
</ul>