2013-08-21 62 views
1

以下是簡單骨幹應用程序的模型。所以考慮我想要多個網址調用,我被告知我應該使用集合(定義是一個模型集合)。在Backbone.js中使用集合

型號格式:

var Books1 = Backbone.Model.extend({ 
     urlRoot: '/books1' 
    }); 

    var Books2 = Backbone.Model.extend({ 
     urlRoot: '/books2' 
    }); 

採集格式:

var Books = Backbone.Collection.extend({ 
     url: '/books' 
    }); 

我的問題是怎麼樣集合中組合多個模型?

更清楚:

考慮我有目前在單個視圖8-10模型(需要調用從一個單一的視圖8+服務器請求)。我通過模型成功地做到了這一點。但從我最初的研究中得出的結論是,我應該使用收集這將是所有使用的模型的集合。所以通過傳遞集合來查看,我可以在不同的視圖中調用不同的模型。

我該如何在視圖中使用它?

更清楚:

的模型現在我用this.model.save()newmodel.save(),我需要有要求的點位之前宣佈的模型之後。

乾杯

回答

1

很多特性是通過http://underscorejs.org/#result處理,這樣可以傳遞urlRoot作爲功能

var Books = Backbone.Model.extend({ 
    urlRoot: function(){ 
    return condition ? '/books' : '/bum' 
    } 
}); 

在收集相同。但我不這麼認爲,在一個集合中合併2個或更多模型是一個好主意。只是爲另一個模型做一個新的集合,如果可能的話......

視圖怎麼樣?

你可以通過收集來查看情況是這樣的:

var SomeView = Backbone.View.extend({ 
    initialize: function(opt){ 
    this.collection = new opt.collection 
    } 
}); 

var someView = new SomeView({collection: Books}) 
+0

好香港專業教育學院編輯的問題,更精確。 –