我在某处读到,每次发生事件时都会更新 DOM,并且绑定到 DOM 的数据会发生变化。所以我想更多地了解它。我尝试了下面的代码,但是当 textarea 中的数据发生变化时 DOM 不会更新,但每当我单击或按 Tab 键时它都会更新。
var app = {
controller: function () {
var self = this;
this.model = {};
this.model.errors = [];
this.break_data = function (value) {
self.model.errors = value.split(' ');
m.redraw();
}
},
view: function (ctrl) {
return m('.content', [
m('textarea', {onchange: m.withAttr('value', ctrl.break_data)}),
ctrl.model.errors.map(function (error) {
return m('.error', error);
})
]);
}
}
m.mount(document.getElementById('app'), app);
我什至尝试过m.startComputaion()
,但它们m.stopComputation()
都m.redraw()
不起作用。