如何组织多个视图使用的Backbone模型?

时间:2012-02-29 17:43:42

标签: javascript event-handling backbone.js modelstate backbone-events

所以这里很瘦......(我总是像30多岁的流氓一样说话)

我有两个型号 - 你看见:公司+日期

设置
公司模型附加到下拉列表视图。它从服务器获取公司列表。日期设置为今天,并附加到日期选择器视图。在初始化时,这些模型都通过app路由器附加到各自的视图。这些构成了主导航并始终存在。

问题
问题是这些模型+数据将被多个视图使用,我希望有一种更简洁的方法将它们传递给这些视图。所以我使用了一个事件聚合器,它在更改时将模型与模型一起发布。但是,由于模型没有改变,这对新视图的初始化没有帮助。

四个选项

  1. 将日期模型存储在localStorage中。在通过新视图初始化模型时检索它。当模型由新视图初始化时,从缓存中提取公司数据。

  2. 将我的应用路由器中的任一模型传递给每个新视图。将模型更改绑定到视图。

  3. 首选:使用我的事件系统,但找到解决新视图初始化的方法。

  4. 举起双手说“sc *** it”,然后对着大厅对面的女士尖叫一小时

1 个答案:

答案 0 :(得分:2)

坚持使用#2 - 在实例化时将模型传递到每个视图中。这是经典的MVC架构,你可以很好地遵守这个惯例。典型的MVC使每个视图都从存储为引用的模型中侦听事件,以便视图可以在模型更改时自行更新。通常,模型对象在视图构造函数中传递。

相关问题