前端的MVC,太多的控制器做了几乎相同的事情?

时间:2016-07-27 11:33:16

标签: model-view-controller structure frontend web-frontend

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()

问题

  1. 控制器正在调用相同型号,但不同的View回调,对于这种情况,我必须创建更多控制器来处理不同的View回调。

  2. 回调不同,因为某个组件可能会出现在其他页面中

    例如,即使用户的个人资料,帖子或评论中也可能会出现“赞按钮”,

    他们都是“赞按钮”,但视图反馈不同模型不同在哪里获取帖子ID,评论ID,用户ID )。

  3. 我不知道如何在前端完全构建我的MVC流程,

    每页MVC 个人资料,帖子,主页)?或 MVC per“module” User,Like,Comment )甚至每个组件的MVC

    如何解决太多控制器的问题?

    我读过其他一些结构,例如: Flux Vuex

    但是它对服务器端渲染 Web应用程序不太友好(我正在使用SSR)。

0 个答案:

没有答案