2012-08-10 40 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

相關問題