JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<main></main>
<script id='template' type='text/ractive'>
<outer/>
</script>
<script id='outer' type='text/ractive'>
<inner foo='{{message}}'/>
</script>
<script id='inner' type='text/ractive'>
<p>{{baz}}</p>
</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.outer = Ractive.extend({
template: '#outer'
});
Ractive.components.inner = Ractive.extend({
template: '#inner',
computed: {
bar: function () {
return this.get( 'foo' ).toUpperCase();
},
baz: function () {
return this.get( 'bar' ).toLowerCase();
}
}
});
try {
window.ractive = new Ractive({
el: 'main',
template: '#template'
});
ractive.findComponent( 'outer' ).set( 'message', 'this is broken' );
} catch ( err ) {
document.body.innerHTML = '<pre class="error">' + err.message + '</pre>';
throw err;
}