Skip welcome & menu and move to editor
Welcome to JS Bin
Load cached copy from
 
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Ember Starter Kit</title>
  <link rel="stylesheet" href="http://cdnjs.cloudflare.com/ajax/libs/normalize/2.1.0/normalize.css">
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
  <script src="http://builds.handlebarsjs.com.s3.amazonaws.com/handlebars-v1.3.0.js"></script>
  <script src="http://builds.emberjs.com/tags/v1.5.0/ember.js"></script>
</head>
<body>
  <script type="text/x-handlebars">
    <h2> Welcome to Ember.js</h2>
    {{outlet}}
  </script>
  <script type="text/x-handlebars" data-template-name="index">
    <p>Click on items to make active</p>
    <ul>
    {{#each controller}}
      <li {{action toggleActive controller}} {{bind-attr class="isActive"}}>{{model}}</li>
    {{/each}}
    </ul>
  </script>
</body>
</html>
 
/* Put your CSS here */
html, body {
    margin: 20px;
}
.is-active {
  color: red;
}
 
App = Ember.Application.create();
App.Router.map(function() {
  // put your routes here
});
App.IndexRoute = Ember.Route.extend({
  model: function() {
    return ['red', 'yellow', 'blue'];
  }
});
App.IndexController = Ember.ArrayController.extend({
  itemController: 'item',
  
  activeItem: function() {
    return this.findBy('isActive');
  }.property('@each.isActive'),
  
  actions: {
    toggleActive: function(controller) {
      var previouslyActive = this.get('activeItem');
      if(previouslyActive && previouslyActive !== controller) {
        previouslyActive.set('isActive', false);
      }
      controller.set('isActive', !controller.get('isActive'));
    }
  }
});
App.ItemController = Ember.ObjectController.extend({
  isActive: false
});
Output

You can jump to the latest bin by adding /latest to your URL

Dismiss x
public
Bin info
domchristiepro
0viewers