最近、Ember.js 0.9.8.1 から Ember.js 1.0-pre2 に更新しました。バインディングを設定すると、オブザーバーが起動されないことがわかりました。
問題を示す小さな例を次に示します。
テンプレート:
<script type="text/x-handlebars">
{{view App.SimpleView textBinding="App.text"}}
</script>
コード:
App = Ember.Application.create();
App.text = "new";
App.SimpleView = Ember.View.extend({
text: 'old',
fired: 'no',
template: Ember.Handlebars.compile('Text: {{view.text}}. Observer fired: {{view.fired}}'),
textObserver: function() {
this.set('fired', 'yes');
}.observes('text')
});
Ember.js 0.9.8.1 では期待どおりに動作し、Text: new を出力します。オブザーバーの起動: はい, ( fiddle ) ただし、1.0-pre2 では、オブザーバーは起動されません ( fiddle )。
これは小さなバグのようなものですが、報告する前に、API で何か変更があったかどうかを尋ねたいと思います。