我刚刚开始使用backbone.js。到目前为止,我非常喜欢它。backbone.js:影响集合中的不同模型的按钮视图
我有这样的事情:
- MODELA
- ModelB
- ViewA
- ViewB
MODELA持有ModelB
的集合,我怎样才能建立一个ModelB的ViewB带有一个按钮,单击时会更改集合中下一个ModelB实例的属性?
我刚刚开始使用backbone.js。到目前为止,我非常喜欢它。backbone.js:影响集合中的不同模型的按钮视图
我有这样的事情:
MODELA持有ModelB
的集合,我怎样才能建立一个ModelB的ViewB带有一个按钮,单击时会更改集合中下一个ModelB实例的属性?
var col = this.model.collection;
var nextModel = col.at(col.indexOf(this.model) + 1)
if(nextModel) nextModel.set({whatevar});
你并不需要保持父集合的轨道,骨干为你做。 你应该检查你是否也在收集结束。
我想我想出了一些东西。我会分享看看其他人的想法,以便其他人可以从中受益。
我只是将对父集合的引用传递给集合中的每个模型。
在我的收藏,添加一个新的实例时:
var newModelBInstance = new ModelB({ id: "xxx", ParentCollection: this });
然后,我ModelB视图中:
this.model.get("ParentCollection").at(this.model.sortValue + 1).set({ myAttr: false });
喜欢它。 backbone.js图片对我来说越来越清晰明了。这显然是由那些已经思考过并且已经将他们的工作投入到真正解决方案测试中的人们所做出的。谢谢。 – 2011-05-06 19:10:51
这是在文档中?我找不到它。 – 2011-05-08 14:53:54
这是在代码中。你可以在http://documentcloud.github.com/backbone/docs/backbone.html这个小警告中阅读注释版本,如果你将模型添加到多个集合中,只有最后一个会被引用。 – Julien 2011-05-08 16:41:12