0

我对 Backbone 还是有点陌生​​,对此我感到很困惑......

我有一个用于标题的路由器/集合/视图,以及一个用于广告系列的路由器/集合/视图。

当用户创建一个新的活动时,它必须与一个标题相关联。所以在创建表单中,我需要访问所有标题的列表,以便获取它们的名称和(rails)ID。

不过,我不确定如何从我的广告系列视图中访问此标题列表。

关于解决方案的一些想法:

  1. 使用像连字这样的关联库——对于一个相当简单的问题,这似乎需要做很多工作,而且我真的不需要关联。我只需要完整的标题列表。
  2. 在全局范围内声明我的 Titles 集合并将其传递给 Titles 路由器的初始化程序。
  3. 在 Campaigns 路由器中创建一个 Titles 集合。这似乎是多余的。

很高兴发布代码,但我不知道什么是相关的。

4

1 回答 1

0

如果你的意思是全局范围window,我建议尽可能避免这种情况。您的 Titles / Campaign 类是否可以访问共享范围?例如:

( function () {

  var App = {};

  // ...

  // Titles code

  var titles = App.titles = new Backbone.Collection;

  // ...

  // Campaign code

  var titles = App.titles;

} )();

如果您希望在整个应用程序中使用单个 Titles 集合,您可能想要安排一些事情,以便您的应用程序的各个部分可以访问共享范围。

否则,如果由于某种原因这不切实际或不可取,您可以在“广告系列”部分中创建一个单独的标题集合并从服务器获取它,或者引导它,或者您想要填充它。

没有看到一些代码很难更具体,所以也许这会建议一些你认为与发布相关的代码。

于 2012-08-11T01:23:17.897 回答