Looping fetched content

hardcoded models

by Nairam

HTML

<script src="http://builds.emberjs.com/handlebars-1.0.0-rc.4.js"></script>
<script src="http://builds.emberjs.com/ember-latest.js"></script>
<script src="http://builds.emberjs.com.s3.amazonaws.com/ember-data-latest.js"></script>
<script type="text/x-handlebars" data-template-name="index">
    <p>Names:</p>
    {{#each item in controller }}
    <p>{{item.name}}</p>
    {{/each}}
    {{#linkTo "start" }}Go to Start{{/linkTo}}
    
</script>

<script type="text/x-handlebars" data-template-name="start">
    <p>You are on start</p>
    {{#each item in contentFromOtherController }}
    <p>{{item.name}}</p>
    {{/each}}
    
    <button {{action "alert"}}>Show Alert</button>
</script>

JavaScript

App = Ember.Application.create();

App.Router.map(function() {
    this.route("start")
});

App.StartRoute = Ember.Route.extend({});

App.IndexRoute = Ember.Route.extend({
    model: function() {
        return [Ember.Object.create({id: 523, name: "John"}),
                Ember.Object.create({id: 534, name: "Warren"}),
                Ember.Object.create({id: 234, name: "Katy" })
         ];
    }
});

App.IndexController = Ember.ArrayController.extend({
    sortProperties: ["id"],
    sortAscending: true
    
});

App.StartController = Ember.ObjectController.extend({
    needs: 'index',
    contentFromOtherController: function(){
        // if you want to get the sorted content from the other
        // controller take "arrangedContent"
        return this.get("controllers.index.arrangedContent");
    }.property("controllers.index.content"),
    alert: function() {
        // get the "content" from the IndexController;
        var names = this.get("controllers.index.arrangedContent");
        var formattedNames = [];
    
        names.forEach(function(item) {
        var name = item.name;
        name = name + "!"
        formattedNames.push(name);
        });
        alert(formattedNames[0]);   
    }
});