JSFiddle - React, Tailwind, and code Playground
by rich_harris
HTML
<main></main>
<script id='template' type='text/ractive'>
<p>textX: {{textX}}</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
var ractive = new Ractive({
el: 'main',
template: '#template',
data: {
width: 1000,
topLeft: { x: 0, y: 0 },
topRight: { x: 0, y: 0 }
},
computed: {
hasHeadroom () {
return this.get( 'width' ) > 800;
},
textX () {
console.log( 'calculating textX' )
return this.get( 'hasHeadroom' ) ?
( this.get( 'topLeft.x' ) + this.get( 'topRight.x' ) ) / 2 :
this.get( 'topRight.x' ) + 10;
}
}
});
ractive.set( 'topLeft', { x: 100 });