2014-09-04 40 views
0

考慮到返回以下在它的典型響應結果 通過Backbone.js中的單個提取來處理更新多個集合的好方法是什麼?

  • 分頁信息
  • 導航器(即分類,分類別,位置等)
  • 圖形數據的

    • 列表一個RESTful API

    在視圖中,每次更改導航器時,必須更新結果,圖形和導航器。

    我想要一個更新所有這些集合的fetch()。

    我已經能夠做到這一點,但它不乾淨,我正在尋找一個最佳做法來處理這個問題,因爲我希望這是一個常見的情況。但是,我還沒有找到太多的東西。

    我會注意到我正在使用Backgrid JS(如果這與答案有關)。

    也許我不是在尋找合適的術語,但是我會很感激任何幫助。

    謝謝!

  • +1

    如果我是你,我會解析API在控制器上的成功,我會解析響應及復位集合和模型與響應的適當部分。 – Evgeniy 2014-09-04 07:58:10

    +0

    這很有道理。對於這樣的控制器是否有一些最佳實踐(即,將其包裝在Backbone.Model中)?或者一些通用的jQuery Ajax調用就足夠了?我的重構目標是讓它更清潔。 – chaimp 2014-09-04 08:26:56

    +1

    根據我的經驗,我可以推薦你仔細觀察Backbone Marionette。它已經具有應用程序,控制器等抽象,可以在Backbone應用程序重構中使用。如果你不介意使用它,這將是你在這種情況下的魔杖 – Evgeniy 2014-09-04 08:35:37

    回答

    0

    我們採取的方法是在模型中嵌套集合。在我們的方法中,模型看起來像這樣:

    var MyModel = Backbone.Model.extend({ 
        nested : [ 
        { 
        name: 'childCollection1', 
        Collection: Backbone.Collection 
        }, 
        { 
        name: 'childCollection2', 
        Collection: Backbone.Collection 
        } 
        ] 
    }); 
    

    嵌套集合在初始化中被實例化爲集合。數據通過一次讀取從服務器中檢索,嵌套的集合在parse()中用獲取的數據重置,並在toJSON()中轉換回數組。

    這裏有一個要點: https://gist.github.com/christinedraper/8cc160b4424a16828714

    相關問題