2

你将如何使用 MVC 的原则在 JavaScript 中实现这个应用程序?

在此处输入图像描述

如您所见,该应用程序基本上有 3 个视图:“侧边栏”、“可视化”和“时间滑块”。基础模型必须跟踪选定的国家和年份。

初始化应用程序时,它应该加载一个用数据填充模型的 json 文件。对于某种事件系统(请告知),控制器应该被通知一个稳定的模型,并且应该设置相应的视图。

例如,在侧边栏中添加一个国家应该触发数据重新加载,然后更新可视化视图的 x/y 比例以适应更多国家等。

您将如何将逻辑与视图分开(模型、视图和控制器分别包含哪些内容)以及您将使用哪些库?(尤其是关于事件处理)。

代码非常感谢......谢谢。

4

1 回答 1

1

对于这种应用程序,我建议您查看backbone.js

基本上是:

Backbone 通过提供具有键值绑定和自定义事件的模型、具有可枚举函数的丰富 API 的集合、具有声明性事件处理的视图,并通过 RESTful JSON 接口将其全部连接到现有应用程序,从而为 JavaScript 繁重的应用程序提供结构。

您可以查看backbone.js文档上的视图;他们为您提供了大量示例,这比我提供使用backbone.js. 他们还提供了几个带有完整构建应用程序的演示,供您开始使用。

更新:还可以查看与spine.js非常相似backbone但不一样的内容,从他们的常见问题解答中,区别在于:

哇——你的 API 看起来很像 Backbone。为什么我应该使用这个来代替?

嗯,Spine 确实受到了 Backbone 这个优秀库的启发,它的控制器 API 非常相似。然而,相似之处到此为止。在内部,图书馆的工作方式非常不同。例如,Spine 不需要集合,Backbone 中几乎每个模型都需要集合。Spine 提供了一个类库,在服务器同步方面有非常不同的想法。最后,Spine 更简单,大小只有一半,去看看源代码吧。

于 2011-05-20T13:17:18.010 回答