@el(number,"v-text-field",label="Number",type="number",cols=2)
@el(number2,"v-text-field",label="Number2",type="number",cols=2, binds=Dict("value"=>"comp"))
p1=page([number,number2],
computed=Dict("comp"=>"""function(){return number*2}"""), ## comp will always be number*2 and is updated when number changes
asynccomputed=Dict("comp2"=>"""function(){return this.submit('login',{a:this.number.value}).then(x=>x.responseText)}""")); ## asynccomputed shoould be used with async values e.g promises in submit function