将模型添加到木偶项视图定义之外的主干集合
Add models to backbone collection outside Marionette ItemView definition
我有两个在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
定义的区域。
我的问题是 - 我怎样才能在App.V1
、App.V2
和r()
的定义之外获得集合c1
或c2
,并向它们添加一些模型(如果我再次调用r()
,我会创建新的c1's
并c2's
以便c1.add(...)
和c2.add(....)
变得无用)?
事实证明,全局木偶对象App
保存对所有视图(当前在 DOM 中处于活动状态)及其各自集合的引用。
因此,在上述情况下,可以像这样访问c1
: App.one.currentView.collection
类似地,c2
可以像这样访问:App.two.currentView.collection
(请记住,one
和two
是由App
定义的木偶区域的名称,而不是html div ids
的名称)
相关文章:
- 在HTML集合上迭代,以便在构造函数中动态定义值
- 司 司长.使用 find() 时返回未定义的集合实例
- 无法处理Knockout.js Observable Array中未定义的集合
- Backbone.js-集合未定义
- Meteor前端未定义Mongo集合
- MeteorJS集合未定义
- 流星:检查是否定义了集合
- 为什么 .fetch() 未为集合定义
- 主干集合在调用 fetch() 时给出“未定义的 Ajax”错误
- 在 Meteor.com 上部署后,集合将变为未定义
- 将模型添加到木偶项视图定义之外的主干集合
- 尝试创建关系时未定义的集合
- 流星:发布中未定义的集合
- 如何使用 JavaScript 配置 DocPad 集合?“警告:自定义集合 XYZ 不是有效的集合实例”
- Harmony 集合未在 NodeJS 5 中定义
- 骨干收听自定义集合
- 在Backbone.js集合上引发自定义事件并传递数据
- Backbone.js集合获取'这个_byId'未定义
- backbone.js-集合视图给出"TypeError:无法读取属性'el'未定义的“;错误
- each()函数未在此集合上定义