我认为我对模型 - 视图 - 控制器的概念有基本的了解。我在服务器端开发的环境中使用它,但客户端似乎有点不同。我正在尝试编写没有框架的应用程序来更好地理解。
我对javascript MVC应用程序的理解
但是,我不确定的是代码设置这些链接的位置。
在我看来,这些连接将位于View或Controller的初始化函数中。
一个非常简单的玩具示例:
function View(model, controller) {
model.addSubscriber(this.render);
// code to set up DOM elements etc.
this.button1 = document.getElementById("button1");
this.button1.addEventListender("click", function() {
controller.buttonhandler();
})
}
View.prototype.render = function() {
//
}
var view = new View(model, controller)
或者:
function Controller(model, view) {
model.addSubscriber(view.render);
view.button1.addEventListender("click", function() {
this.buttonhandler();
})
}
Controller.prototype.buttonhandler = function() {
//
}
var controller = new Controller(model, view);
在客户端javascript中,这些中的任何一种都是“正确”的方式吗?如果没有,是否有一种方式优于另一种方式?或者我只是混淆整个问题?
答案 0 :(得分:1)