2012-11-27 2 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>​ 

코드 : Ember.js와

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') 
}); 

텍스트를 인쇄, 예상대로 작동 0.9.8.1 : 새로운. Observer fired : 예, (fiddle) 그러나 1.0-pre2에서 관찰자는 해고되지 않습니다 (fiddle).

이 버그는 저보다는 작지만보고하기 전에 API의 내용이 변경되었는지 묻고 싶습니다.

답변

2

글쎄, Kristofor Selden과 논의한 후에, 0.9.8.1의 동작은 버그였습니다. 1.0.pre-2에서 피들에서 뷰가 인스턴스화 될 때 App.text가 이미 "new"로 설정되어 있는데, 이것은 관찰자가 해고되지 않을 것으로 예상되는 동작입니다.

관련 문제