JSFiddle - React, Tailwind, and code Playground
HTML
<script src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/1.3.0/handlebars.js"></script>
<script src="//cdnjs.cloudflare.com/ajax/libs/ember.js/1.4.0-beta.6/ember.debug.js"></script>
<div id="container">
<!-- application template -->
<script type="text/x-handlebars" data-template-name="application">
{{outlet}}
</script>
<!-- Index template -->
<script type="text/x-handlebars" data-template-name="index">
{{#link-to "projects"}}Go to projects{{/link-to}}
</script>
<!-- projects template -->
<script type="text/x-handlebars" data-template-name="projects">
{{#each project in model}}
<div class="project">
<h3>{{project.name}}</h3>
{{#link-to "listings" project.listings}}View Listings{{/link-to}}
</div>
{{/each}}
{{outlet}}
</script>
<!-- listings template -->
<script type="text/x-handlebars" data-template-name="listings">
{{#each listing in model}}
<div class="listing">
<h3>{{listing.propertyCode}}</h3>
</div>
{{/each}}
</script>
</div>
JavaScript
var App = Ember.Application.create({
rootElement: '#container'
});
/* ROUTER */
App.Router.map(function() {
this.resource('projects', function() {
this.resource('listings', {path: '/:project_id/listings'});
});
});
/* ROUTES */
App.ProjectsRoute = Ember.Route.extend({
model: function() {
return App.projects;
}
});
App.ListingsRoute = Ember.Route.extend({
model: function(params) {
return App.listings;
}
});
App.listings = [
{
propertyCode: 'Ref306',
name: 'x',
projectId: 2
},
{
propertyCode: 'Ref308',
name: 'y',
projectId: 2
},
{
propertyCode: 'Ref309',
name: 'z',
projectId: 2
}
];
App.projects = [
{
id: 1,
name: 'Opportunity',
listings: App.listings
},
{
id: 2,
name: 'Curiosity',
listings: App.listings
},
{
id: 3,
name: 'Cassini',
listings: App.listings
}
];