Javascript 模型应该如何沟通?

Javascript 模型应该如何沟通?,javascript,model-view-controller,Javascript,Model View Controller,我正在设计一个JavaScript应用程序,它涉及到编辑基于文本的文件(又名代码编辑器)。目前,我正在处理应用程序的文件资源管理器区域。我把它分成了三个MVC部分 该视图管理DOM结构(主要通过jQuery),并将用户交互发布到我的应用程序中介。(例如,用户单击“添加文件”,视图将要求输入名称,然后用新名称触发“files.new”事件。) 控制器。控制器将接收视图触发的大多数事件。据我所知,控制器应负责更新模型。例如,如果视图用新名称触发“files.nameChanged”事件,控制器将通过

我正在设计一个JavaScript应用程序,它涉及到编辑基于文本的文件(又名代码编辑器)。目前,我正在处理应用程序的文件资源管理器区域。我把它分成了三个MVC部分

  • 该视图管理DOM结构(主要通过jQuery),并将用户交互发布到我的应用程序中介。(例如,用户单击“添加文件”,视图将要求输入名称,然后用新名称触发“files.new”事件。)

  • 控制器。控制器将接收视图触发的大多数事件。据我所知,控制器应负责更新模型。例如,如果视图用新名称触发“files.nameChanged”事件,控制器将通过更新模型来处理该事件

  • 模型。目前,该模型仅限于原始数据。没有事件或任何类型的api。这就引出了我的问题:


  • 模型应该如何沟通?我考虑过公开一个API,比如
    model.updateRecord()
    。但是如果我这样做了,视图如何传达应该更新哪些记录?例如,如果用户更改了文件名,控制器将如何知道更改了哪个文件,以及它将如何与模型通信?

    要展开Dave Just的评论,模型是一个层。模型层由服务、域对象和数据映射器组成。见下表。注册表不是模型层的一部分,它是我在完成框架之前添加的东西,它不在正确的位置,或者在图表中没有准确的描述,但我不确定它是否适用于javascript框架

    图像链接:

    听起来像很多人一样,你错过了模型的一个要点——模型是一个抽象概念MVC中没有模型,只有服务,所以你需要某种DataMapper@DaveJust对我来说听起来不错,但问题仍然存在,如何。。。“数据模块?”应与应用程序的其余部分通信,或者更具体地说,与视图模块通信。