backbone.js:视图中影响集合中不同模型的按钮



我正在使用backbone.js。到目前为止,我真的很喜欢它。

我有这样的东西:

  • 模型
  • ModelB
  • ViewA
  • ViewB

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 });