2012-08-10 42 views
0

我仍然是一种新的,以骨干,我敢这个难倒...访问来自不同的路由器/集合视图

我有标题路由器/收集/图以及路由器/收集/查看Campaigns。

当用户创建新广告系列时,它必须与标题相关联。所以在创建表单中,我需要访问所有标题的列表,以便获取他们的名称和(导轨)ID。

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

的解决方案的一些想法:

  1. 使用关联库像结扎 - 这似乎是一个大量的工作,有一个比较简单的问题,我并不真的需要协会..我只需要标题的完整列表。
  2. 在全局范围内声明我的Titles集合并将其传递给标题路由器的初始化程序。
  3. 在Campaigns路由器中创建一个Titles集合..这看起来相当多余。

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

回答

0

如果按照全球范围来说,你的意思是window,如果可能,我建议避免这种情况。您的标题/广告系列类是否可以访问共享范围?例如: -

(function() { 

    var App = {}; 

    // ... 

    // Titles code 

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

    // ... 

    // Campaign code 

    var titles = App.titles; 

})(); 

您可能要安排的事情,所以如果你想拥有整个应用程序使用的单个标题收集您的应用程序的不同部分有机会获得这样一个共享范围。

否则,如果出于某种原因这样做不切实际或不受欢迎,那么您可以在Campaigns部分创建一个单独的Titles集合,并从服务器获取它,或者引导它,或者您想要填充它。

没有看到一些代码就很难更具体,所以这可能会提示一些你认为与发布相关的代码。

+0

谢谢!我最终只是使用你提供的代码。我假设我可以从Campaign代码中调用titles.fetch()而没有问题? – CambridgeMike 2012-08-12 06:11:12

+0

是的,它只是一个实例,所以你可以调用任何实例方法,比如'fetch()',只要你从代码的不同部分访问相同的实例,你应该得到想要的结果。 – JMM 2012-08-12 18:09:17

+0

太棒了。非常感谢。 – CambridgeMike 2012-08-13 17:22:51

相关问题