我正在设计一个涉及编辑基于文本的文件(又名代码编辑器)的 JavaScript 应用程序。目前,我正在研究应用程序的文件资源管理器区域。我将它分为三个 MVC 部分。
该视图管理 DOM Stricture(主要通过 jQuery)并将用户交互发布到我的应用程序中介。(例如,用户单击“添加文件”,视图将询问名称,然后使用新名称触发“files.new”事件。)
控制器。控制器将接收视图触发的大部分事件。据我了解,控制器应该负责更新模型。例如,如果视图使用新名称触发“files.nameChanged”事件,控制器将通过更新模型来处理该事件。
该模型。目前,该模型仅限于原始数据。没有事件或任何类型的 api。这让我想到了我的问题:
模型应该如何沟通?我考虑过公开一个 API,例如model.updateRecord()
. 但是如果我这样做,视图如何传达应该更新哪个记录?例如,如果用户更改了文件的名称,控制器如何知道哪个文件被更改,以及如何将其传达给模型?