JSFiddle - React, Tailwind, and code Playground

by rich_harris

HTML

<main></main>

<script id="template" type="text/ractive">
    {{>subTemplate { infoAlias: info } }}
    <button on-click="changeInfo">Change Info</button>
</script>

<script id="subTemplate" type="text/ractive">
    p{{infoAlias.sub}} <br/>
    {{'p' + infoAlias.sub}} <br/>
    {{> 'p' + infoAlias.sub}} <br/>
</script>

<script id="p1" type="text/ractive">
    p1
</script>

<script id="p2" type="text/ractive">
    p2
</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

var ractive = new Ractive({
    el: 'main',
    template: '#template',
    data: {
        info: {
            sub: 1
        }
    }
});

ractive.on('changeInfo', function() {
    ractive.set('info.sub', 2);
});