JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<main></main>
<script id='template' type='text/ractive'>
<fancy-list on-select='doSomething' items='{{myItems}}'/>
</script>
<script id='fancy-list' type='text/ractive'>
{{#each items}}
<button on-click='fire("select",this)'>select {{this.name}}</button>
{{/each}}
</script>
CSS
body {
font-family: 'Helvetica Neue', arial, sans-serif;
font-weight: 200;
color: #353535;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 200;
}
.error {
color: #d00;
font-family: monospace;
}
JavaScript
Ractive.components[ 'fancy-list' ] = Ractive.extend({
template: '#fancy-list'
});
var ractive = new Ractive({
el: 'main',
template: '#template',
data: {
myItems: [
{ name: 'foo' },
{ name: 'bar' },
{ name: 'baz' }
]
}
});
ractive.on( 'doSomething', function ( item ) {
console.log( this === ractive );
console.log( this.event );
console.log( 'selected %s', item.name );
});