JSFiddle - React, Tailwind, and code Playground
by krisselden
HTML
<script src="https://github.com/downloads/emberjs/ember.js/ember-0.9.5.js"></script>
JavaScript
Em.LOG_BINDINGS = true;
(function(get, set) {
var obj, proto, a, b, selectionChanged;
Ember.run(function() {
obj = {
selection: undefined
};
selectionChanged = 0;
Ember.addObserver(obj, 'selection', function() {
console.log('selectionChanged', get(obj, 'selection'));
selectionChanged++;
});
proto = {
obj: obj,
changeSelection: function(value) {
set(this, 'selection', value);
}
};
Em.bind(proto, 'selection', 'obj.selection');
a = Em.create(proto);
b = Em.create(proto);
});
Em.run(function() {
console.log('set a.selection = "a"');
set(a, 'selection', 'a');
});
Em.run(function() {
console.log('set b.selection = "b"');
set(b, 'selection', 'b');
});
Em.run(function() {
console.log('set a.selection = "a"');
set(a, 'selection', 'a');
});
$(document.body).append('selectionChanged: ' + selectionChanged + '<br>selection: ' + get(obj, 'selection'));
}(Em.get, Em.set));