2017-08-10 97 views
0

我無法使我的集合顯示。 我有一個REST控制器在我的後端「/車」,並在頁面集合不在頁面上顯示

var Cars = Backbone.Collection.extend({ 
    url: '/cars' 
}); 
var myChildV = Marionette.View.extend({ 
    template: '#myV', 
}); 
var myCollectionV = Marionette.CollectionView.extend({ 
    collection: new Cars(), 
    childView: myChildV, 
}); 
var collectionV = new myCollectionV(); 
collectionV.render(); 

這個JS代碼,但它顯示頁面上什麼都沒有。 放置JS之前的模板被執行,看起來像

<script id="myV" type="x-template/underscore"> 
    <h1><% items.name %></h1> 
    <h2><% items.price %></h2> 
</script> 

我試着讀了一些指南,新手介紹的書,但所有提供的例子不休息控制器。 我應該怎麼做才能顯示一組模型?

+0

是的,你可以在URL屬性 url:'/ cars'中看到它。或者你的意思是我應該先在頁面上使用js調用.fetch()方法,並在此後顯示項目? –

回答

1

文檔說:

的的CollectionView將遍歷所有指定集合中的機型,使用指定的childView使他們每個人,那麼孩子視圖的EL的結果追加到集合視圖的埃爾。

出現在你的代碼有幾個問題:

  1. 顯然您的收藏是空的。所以沒有模型可以渲染。你既沒有在客戶端添加模型,也沒有從服務器端獲取模型

  2. 你的視圖在內存中,它沒有任何方式連接到實際的DOM,如果你想在你的網頁中看到它,你需要追加它到了DOM。

0

您的CollectionView不知道渲染內容應該附加到哪裏。嘗試在其上添加一個「el:'body'」屬性。