batman.js template
HTML
<script src="http://github.com/Shopify/batman/raw/master/lib/es5-shim.js"></script>
<script src="http://github.com/Shopify/batman/raw/master/lib/batman.js"></script>
<script src="http://github.com/Shopify/batman/raw/master/lib/batman.jquery.js"></script>
<link rel="stylesheet" href="http://batmanjs.org/examples/resources/reset.css">
<div id="container">
<div>users = <span data-bind="users | inspect"></span></div>
<div>users.length = <span data-bind="users.length"></span></div>
<div>users['length'] = <span data-bind="users['length']"></span></div>
</div>
<!-- This enables us to run coffeescript below. --->
<script>(function(){var s="script",n='\n',d=document,b=d.getElementsByTagName(s);b=b[b.length-2].innerHTML.split(n); d.write('<'+s+' type="text/coffeescript">'+b.slice(2,b.length-2).join(n)+'</'+s+'>');})()</script>
CSS
body {
background-color: #f0f0f0;
}
#container {
display: block;
width: 400px;
margin: 0 auto;
margin-top: 30px;
}
h2 {
clear: both;
}
CoffeeScript
Batman.mixin Batman.Filters,
inspect: (val) ->
JSON.stringify(val)
class Hello extends Batman.App
setTimeout =>
users = new Batman.Set({name: 'John', name: 'Joe'})
Hello.set('users',users)
, 1000
Hello.set('users', new Batman.Set({name: 'Joe'}))
Hello.run()