JSFiddle - React, Tailwind, and code Playground
HTML
<input id="input1"/>
<span id="span1"></span>
JavaScript
var $watches = [];
function $digest(){
$watches.forEach(function($w){
var val = $w.val();
if($w.prevVal !== val){
$w.callback(val, $w.prevVal);
$w.prevVal = val;
}
})
}
function $watch(val, callback){
$watches.push({val:val, callback:callback, prevVal: val() })
}
var realVar;
input1.addEventListener('keyup',function(e){
realVar=e.target.value;
$digest()
}, true);
$watch(function(){return realVar},function(val){
span1.innerHTML = val;
});