Ember.js 0.9.3 template

by krisselden

HTML

<script src="http://cloud.github.com/downloads/kselden/ember.js/ember.js"></script>
<script type="text/x-handlebars">
    <p>controller1: {{App.page.controller1.value}}</p>
    <p>controller2: {{App.page.controller2.value}}</p>
    <p>controller3: {{App.page.controller3.value}}</p>
</script>

JavaScript

window.App = Ember.Application.create();

var Controller = Ember.Object.extend({
    page: null,
    value: null
});

var Page = Ember.Object.extend({
    controller1: null,
    controller2: null,

    init: function() {
        this.setProperties({
            controller1: Controller.create({
                page: this,
                value: 'ohai'
            }),
            controller2: Controller.create({
                page: this,
                valueBinding: 'page.controller1.value'
            }),
            controller3: Controller.create({
                valueBinding: 'page.controller1.value',
                page: this
            })
        });
    }
});

App.page = Page.create();

setTimeout(function() {
    App.page.controller1.set('value', 'there');
}, 1000);