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