2012-11-27 31 views
0

我最近從Ember.js 0.9.8.1更新爲Ember.js 1.0-pre2。現在我發現,當我設置綁定時,觀察者不會被解僱。綁定在Ember.js的較新版本中沒有觸發觀察者

這是說明問題的一個小例子:

模板:

<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如期工作,印刷文本:新的。觀察員被解僱:是,(fiddle)但是在1.0-pre2中,觀察員沒有被解僱(fiddle)。

這對於我來說很像一個bug,但在報告之前,我想問一下API中的某些內容是否發生了變化。

回答

2

那麼,在與Kristofor Selden討論之後,0.9.8.1中的行爲就是一個錯誤。 在1.0.pre-2中,在你的小提琴中,當視圖被實例化時,App.text已經被設置爲「新」,這是觀察者未被觸發的預期行爲。

相關問題