Shared Models

The latest build of Ember.

by Jeremy Gillick

HTML

<script src="http://builds.emberjs.com/handlebars-1.0.0.js"></script>
<script src="http://builds.emberjs.com/ember-latest.js"></script>
<script src="http://builds.emberjs.com/tags/v1.0.0-beta.4/ember-data.prod.js"></script>
<script type="text/x-handlebars" data-template-name="index-app2">
    <h2>Products</h2>
    <ul>
    {{#each products}}
        <li>{{name}} - ${{price}}</li> 
    {{/each}}
    </ul>
</script>
<div id="app1"></div>
<div id="app2"></div>

JavaScript

App1 = Ember.Application.create({
    rootElement: "#app1"
});
App2 = Ember.Application.create({
    rootElement: "#app2"
});

// 
// Define models
//
App1.Product = DS.Model.extend({
    name: DS.attr('string'),
    price: DS.attr('number')
});
App2.Product = App1.Product;

//
// Main Program for App2
//
App2.IndexController = Em.ObjectController.extend({
    products: []
});
App2.IndexView = Em.View.extend({
    templateName: 'index-app2'
});
App2.IndexRoute = Ember.Route.extend({
  setupController: function(controller, products) {
      console.log('Setup app1')
      controller.set('products', [
          this.store.createRecord('product', {name: 'Robot', price: 10.55}),
          this.store.createRecord('product', {name: 'Blocks', price: 4.99})
      ]);
  }
});