我有两个骨架集合在div中呈现,如下所示:
<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.V1
和App.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
定义的区域。
我的问题是 - 如何在c1
,c2
和App.V1
的定义之外获取收藏App.V2
或r()
并添加一些模型他们(如果我再次致电r()
,我会新建c1's
和c2's
,因此c1.add(...)
和c2.add(....)
变得无用)?
答案 0 :(得分:1)
事实证明,全局Marionette对象App
保存对所有视图(当前在DOM中存在)及其各自集合的引用。
因此,在上述情况下,c1
可以像这样访问:App.one.currentView.collection
类似c2
可以这样访问:App.two.currentView.collection
>
(请注意,one
和two
是由App
定义的木偶区域的名称,而不是html div ids
的名称