删除子项后保持树结构

时间:2014-01-03 12:09:17

标签: backbone.js marionette

我使用复合视图使用以下示例中给出的代码构建树结构。 http://jsfiddle.net/derickbailey/AdWjU/。另外我的模型包含索引(1,1.1,1.2,1.3等),我使用一些逻辑设置了它。现在我想删除行(父和标题)。因此,当我删除任何行时,我想更新剩余行的索引。

代表:

 1. Root
   1.1 a
   1.2 b
   1.3 c

因此,如果从上面的子节点中删除1.2,则剩余行的索引应为

 1. Root
   1.1 a
   1.2 c

我尝试通过绑定事件重新渲染视图,如:

  if (this.collection) {
            this.listenTo(this.collection, "remove", this.render);
  }

但它不起作用,因为它没有维护我输入的值(在兄弟行的文本框中)。

2 个答案:

答案 0 :(得分:0)

确保您从文本框中获取输入并相应地更新模型。然后重新渲染不会有问题。

答案 1 :(得分:0)

如果索引是模型的属性,那么当删除另一个模型时,您不会更新模型的问题吗?

以下可能是一个有用的起点。

this.listenTo(this.collection, 'remove', this.collection.updateIndexes.bind(this.collection));