STRUCUTRE
以下MVC是一个例子,但解释了我面临的问题。
模型
class Model.User
create: (data) ->
$.post '/public/account/create', data
视图
class View.User
disableButton: ->
$('.button').disable()
disableAnotherButtonAndFade: ->
$('.button2').disable()
$('form').fadeOut()
控制器
class Controller.User
register: ->
model.create {username: 'YamiOdymel', password: 'test123'}
view.disableButton()
# Another controller but does almost the same thing as the previous one
anotherRegister: ->
model.create {username: 'YamiOdymel', password: 'test123'}
view.disableAnotherButtonAndFade()
view.doSomethingOther()
问题
控制器正在调用相同型号,但不同的View回调,对于这种情况,我必须创建更多控制器来处理不同的View回调。
回调不同,因为某个组件可能会出现在其他页面中
例如,即使用户的个人资料,帖子或评论中也可能会出现“赞按钮”,
他们都是“赞按钮”,但视图反馈不同,模型不同(在哪里获取帖子ID,评论ID,用户ID )。
我不知道如何在前端完全构建我的MVC流程,
每页MVC (个人资料,帖子,主页)?或 MVC per“module”( User,Like,Comment )甚至每个组件的MVC ?
如何解决太多控制器的问题?
我读过其他一些结构,例如: Flux , Vuex 。
但是它对服务器端渲染 Web应用程序不太友好(我正在使用SSR)。