0

我有一點問題,我不確定我是否不明白它,或者我想要做的事情是不可能的。我有一個數據庫加載文本,兩個 不同的頁面,家庭和約簡單的計劃文本。獲取Backbone,JS將多個集合加載到單個視圖中?

現在我正在嘗試使用帶有Underscore.JS模板的Backbone.JS將此數據/文本加載到可編輯div(contenteditable設置爲true)。

var TextView = Backbone.View.extend({ 
    el: $(".Loader"), //Template loader placeholder 
    render: function() { 
     var that = this; 
     var AboutTxt = new AboutCollection(); //Get About page text 
     var HomeTxt = new HomeCollection(); //Get Home page text 
     AboutTxt.fetch({ 
      success: function(AboutTxt) { 
       var BasicTxt = _.template($('script.BasicText').html(), { AboutTxt: AboutTxt.toJSON() }); //Load About text into template 
       that.$el.html(BasicTxt) 
      } 
     }); 
    } //End of render view function 
}); 

所以我的主要問題是,我可以比一個多集加載到一個視圖中,還是應該/我可以加載多個URL到一個集合?

每個集合我只是指向一個不同的URL,它讓PHP將我的數據庫數據(JSON編碼)返回到Backbone。

那麼什麼是最好的方法或做這個,或者我完全誤解它?

謝謝

所有幫助非常歡迎。

UPDATE

這些都是我的收藏

var HomeCollection = Backbone.Collection.extend({ 
    url: 'BasicText/home' 
}); 

var AboutCollection = Backbone.Collection.extend({ 
    url: '/BasicText/about' 
}); 

我不當前有任何模式設置,但我知道這工作,如果我設置視圖中使用這些集合。我的目標是隻使用一個視圖來加載這兩個集合。那麼一個Collection獲取兩個URL來獲取JSON編碼的數據庫數據?

謝謝。

+0

你是什麼意思加載多個URL到一個集合?你的意思是子集合? – Muhaimin

回答

1
var Model = Backbone.Model.extend({ 
     urlRoot: './url_to_json', 
     initialize: function() { 
         this.about = new collection(); 
         this.about.url = urlRoot + '/about'; 
     }  
}), 

    Collection = Backbone.Collection.extend({ 
     model: Model, 
    url: './url_to_json' 
    }) 

希望這有助於你

+0

嗯,這是我的問題,雖然我已經閱讀了Backbone網站,但對於像我這樣的新手來說,這不是很明確。我不明白模型和收藏之間的區別,我認爲這是我的主要問題。我已更新我的問題 –

+0

是的,您可以在單個視圖中加載儘可能多的集合。但是你必須定義一個模型,而不是以後我們可以使用這個模型來調用另一個新的子集合 – Muhaimin

+0

非常感謝,我現在就開始工作,你用正確的方式指出了我的意思! –

相關問題