Observer Fun (S.O. answer)
http://stackoverflow.com/questions/9694897/emberjs-bug-observer-called-when-value-is-changed-but-other-bindings-to-same-v/9696011#9696011
by ud3323
HTML
<script src="http://cloud.github.com/downloads/emberjs/ember.js/ember-latest.min.js"></script>
<script type='text/x-handlebars'>
{{App.someController.content}} <hr>
{{App.selectedValue}}
</script>
<a href="#" onclick="App.set('selectedValue','new value')">change value</a>
JavaScript
App = window.App = Em.Application.create({
selectedValue: 'old value'
});
App.set('someObj', Em.Object.create({
appValueBinding: 'App.selectedValue'
}));
App.set('someController', Em.Object.create({
content: 'abc',
init: function() {
App.addObserver('selectedValue', this, 'valueChanged');
},
valueChanged: function() {
console.log('changed');
console.log("appValue: " + App.getPath('someObj.appValue') + " selectedValue: " + App.get('selectedValue'));
Ember.run.next(this, function() {
console.log("appValue at the end of runloop: " + App.getPath('someObj.appValue'));
this.set('content', App.getPath('someObj.appValue'));
});
}
}));