我可以准确地使用Backbone JS的模型吗?这太过分了吗?

时间:2011-03-29 17:58:15

标签: javascript models state global backbone.js

我对Backbone JS的模型有疑问。在过去的几天里,我已经深入研究了Backbone JS。我现在正在理解它(感谢Stackoverflow,我已经进一步了解了一些事情)。

目前,我的网络应用程序正在使用Backbone Models存储动态导航和其他此类位。通常在Backbone集合中使用的东西。目前,我的网络应用程序仍然需要存储某种“全局”状态...例如用户当前在导航中选择的内容(然后影响应用程序的其他部分等)。

我一直把所有这些存储的“状态”保存在这样的变量中:

App.data.selectedPage =等等。

但是我正在考虑更多关于Backbone模型......我应该在模型中存储这些“全局状态”吗?这是模型可以用于的东西吗?

目前,webapp没有保存到服务器或本地存储,它更像是一个转换后的Flash演示文稿,我必须为iPad编码。因此,为了代码组织的目的使用像Backbone这样的东西仍然是有道理的...我的意思是,那太好了吗?要使用Backbone,我甚至不打算将模型存储在任何地方?

无论如何,是的,使用模型来存储这类信息也行吗?什么都可以? ...如果我接近这个错误,请告诉我。

很多,非常感谢。 詹姆斯

1 个答案:

答案 0 :(得分:9)

我认为使用骨干模型的一个好的经验法则是,当某些数据发生变化时需要事件。

例如,您有一个包含所选日期的日历。您的应用的许多其他部分(视图)需要知道并了解所选日期。然后将日期存储在模型中并让每个人都听取日历中的事件是有意义的。

这更适用于与数据相关的功能。对于州来说它是不同的。您选择的页面对我来说是一个状态。页面选择,页面状态,全局变量,它们应该在您的控制器中。他们(或者它)应该知道页面的状态是什么,并且当它发生变化时它们可以触发事件。

Model =>数据以事件为中心