wity_lv
2014-04-17 11:58:32 +08:00
先说一下最主观的做法:
get('data.json', function(data) {
renderDom(data);
// bala bala...
});
再说一下Model-View
function createModel(data) {
this.data = data;
var event = { data: data, .... };
fireEvent('change', data);
};
function createView(model) {
model.listen('change', function(event) {
renderDom(event.data);
}
}
// M和V分离,交互通过事件进行, 实现数据绑定.
var m = createModel({});
var v = createView(m);
get('data.json', function(data) {
m.update(data);
});
有没有注意到get操作并没有封装,如果m,v多了是不是会是问题,
下来是M-V-C
function createControler(m,v) {
this.m = m;
this.v = v;
this.fetchData = function() {
get('data.json', function(data) {
m.update(data);
});
}
}
var v = createController(m, v);