Handlebars Helpers

by ethan_selzer

HTML

<script src="http://cloud.github.com/downloads/wycats/handlebars.js/handlebars-1.0.0.beta.6.js"></script>
<script src="https://raw.github.com/emberjs/ember.js/release-builds/ember-1.0.0-pre.4.js"></script>
<script type="text/x-handlebars" data-template-name="application">
    <h1>Application Template</h1>
    {{ outlet }}
</script>

<script type="text/x-handlebars" data-template-name="index">
    <h2>Index Template</h2>
    <p>{{capitalizeFirstLetter test}}</p>
</script>

CSS

body {
  padding: 2em;   
}

JavaScript

App = Ember.Application.create();

Ember.Handlebars.registerBoundHelper( 'capitalizeFirstLetter', function( value ){
    return value.charAt( 0 ).toUpperCase() + value.slice( 1 );
} );

App.IndexController = Ember.Controller.extend( {
    test : 'ok',
    
    init : function(){
        this._super();
        window.setInterval( $.proxy( function(){
            this.get( 'test' ) === 'ok' ? this.set( 'test', 'buddy' ) : this.set( 'test', 'ok' );
        }, this ), 500 );
    }
} );