サンプルアプリを追加しました。 http://jsfiddle.net/Sly7/amG56/
J:
App = Ember.Application.create();
App.ApplicationController = Ember.ArrayController.extend({
selectedBook: null
});
App.ApplicationView = Ember.View.extend({
actions: {
selectBook: function(book) {
this.get('controller').set("selectedBook", book);
},
cancel: function(book) {
alert(book);
}
}
});
App.Book = Em.Object.extend({
name: null
});
テンプレート:
<script type="text/x-handlebars">
{{#each book in books}}
<a {{action "selectBook" book target="view"}} href="#">select {{book.name}}</a><br />
{{/each}}
<hr />
Selected Book: {{selectedBook.name}}
<br />
<a {{action "cancel" selectedBook target="view"}} href="#">cancel selected book</a>
</script>
</p>
いずれかの本を選択してください。本の名前が表示されます。ただし、「選択した本をキャンセルする」リンクは機能しません。
問題は、本を選択してもアクション ヘルパーのコンテキストが変わらないことだと思います。
コンテキストが変化するアクション ヘルパーを実装するにはどうすればよいですか? それともバグですか?