【发布时间】:2015-07-04 12:03:27
【问题描述】:
我需要通过实现模型和控制器来实现 MVC 模式,以使以下代码有意义。
var Student = new Model({
name: 'John',
age: 22,
year: 5,
examsTaken: 2,
takeExam: function(){
this.examsTaken++;
this.changed = true;
}
});
var StudentController = new Controller({
model: Student,
elementId: 'student-container',
render: function(){
return '<span>' + this.model.name +
'</span><button id="student-exams-button">Increase exams taken</button>';
},
clickHandlers: {
'#student-exams-button': 'updateExams'
},
updateExams: function(){
this.model.takeExam();
}
});
据我了解,模型没有一些特定的逻辑,它只是简单的对象。控制器将“render”函数的结果粘贴到 id 等于 elementId 的元素中。在创建控制器时渲染调用。我已经阅读了 Addy Osmani 的“学习 JavaScript 模式”中关于 MVC 的章节,但这对我没有多大帮助。我只需要在模型部分创建具有设置属性的空白对象吗?如何正确创建Controller?
【问题讨论】:
标签: javascript model-view-controller