1

我有div的渲染像於是兩個骨幹集合:
添加模型骨幹收集外木偶ItemView控件定義

<html> 
    <body> 
     <div id="one"> 
      <-- Collection c1 rendered by Marionette ItemView App.V1 here --> 
     </diV> 

     <div id="two"> 
      <-- Collection c2 rendered by Marionette ItemView App.V2 here --> 
     </div> 
    </body> 
</html> 

現在我想模型添加到收藏c1(和c2),但我所知道的是DIV ID - #one#two因爲App.V1App.V2進行渲染,像這樣:

var App = new Marionette.Application(); 

App.addRegions= { 
one: "#one", 
two: "#two" 
} 

function r() 
{ 
var c1= new C110; 
c1.fetch(); 
var c2= new C220; 
c2.fetch(); 
App.one.show(new App.V1({collection: c1}); 
App.two.show(new App.V2({collection: c2}); 
} 

哪裏App是一個全球性的木偶對象; one是由div #one定義的區域,而two是由div #two定義的區域。

我的問題是 - 我怎樣才能收集c1c2的貨艙的App.V1App.V2r()定義之外,部分車型加入到它們(如果我再打電話r(),我創造新的c1'sc2's所以c1.add(...)c2.add(....)變得無用)?

+0

您必須保留對視圖對象的引用。 –

回答

1

事實證明,全球Marionette對象App持有對所有視圖(它們當前在DOM中存在)的引用及其各自的集合。

因此,在上述情況下,c1可以像這樣獲得:App.one.currentView.collection
同樣c2可以像這樣進行訪問:App.two.currentView.collection
(記住onetwo是由App定義木偶區域的名稱和不名稱html div ids