In the current situation, only it is reflected in two to calculate the input contents of one of the input tag
・This is only an example
・Anything is good if the input contents of the input tag is mutual reflect
<div id="target"></div>
<script src="mithril.min.js"></script>
<script>
var App = {
controller: function() {
return {
temp: m.prop(10)
}
},
view: function(ctrl) {
return m("div", [
m("input", {onchange: m.withAttr("value", ctrl.temp), value: ctrl.temp()}),
m.component(App2, {value: ctrl.temp()}),
]);
}
};
var App2 = {
controller: function() {
return {
m1: function ( param ) {
return {'a': parseInt(param)+1, 'b': parseInt(param)+2, 'c': parseInt(param)+3};
},
m2: function ( param ) {
m2Obj = this.m1(param);
return {'d': parseInt(m2Obj['a'])+4, 'e': parseInt(m2Obj['b'])+5, 'f': parseInt(m2Obj['c'])+6};
}
}
},
view: function(ctrl, args) {
return m('div',
m("input", {onchange: m.withAttr("value", ctrl.m1(args.value)), value: ctrl.m1(args.value)['a']+","+ctrl.m1(args.value)['b']+","+ctrl.m1(args.value)['c']}),
m("input", {onchange: m.withAttr("value", ctrl.m2), value: ctrl.m2(args.value)['d']+","+ctrl.m2(args.value)['e']+","+ctrl.m2(args.value)['f']})
);
}
};
m.mount(target, App)
</script>