JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<script src="http://cdn.ractivejs.org/edge/ractive.js"></script>
<main></main>
<script id='template' type='text/ractive'>
<widget type='{{type}}'/>
</script>
<script id='widget1' type='text/ractive'>
ONE
</script>
<script id='widget2' type='text/ractive'>
TWO
</script>
CSS
body {
font-family: 'Helvetica Neue', arial, sans-serif;
font-weight: 200;
color: #353535;
}
h1, h2, h3, h4, h5, h6 {
font-weight: 200;
}
JavaScript
Ractive.components.widget = Ractive.extend({
template: function ( data ) {
return '#widget' + data.type;
},
init: function () {
this.observe( 'type', function ( type ) {
this.resetTemplate( '#widget' + type );
}, { init: false });
}
});
var ractive = new Ractive({
el: 'main',
template: '#template',
data: {
type: 1
}
});
ractive.set( 'type', 2 );