JSFiddle - React, Tailwind, and code Playground
by rniemeyer
HTML
<script src="http://cloud.github.com/downloads/SteveSanderson/knockout/knockout-2.0.0.debug.js"></script>
<div data-bind="template: {name: 'factorial', data: {n: m(), f: 1} }"></div>
<input type="number" data-bind="value: m" />
<script type="text/plain" id="factorial">
n: <span data-bind="text: n"></span>
f: <span data-bind="text: f"></span>
<br />
<span data-bind="if: n <= 1">
Factorial = <span data-bind="text: f"></span>
</span>
<span data-bind="if: n > 1">
<span data-bind="template: {name: 'factorial', data: { n: n-1, f: f*n } } "></span>
</span>
</script>
JavaScript
var M = {m:ko.observable(4)};
ko.applyBindings(M);