2

我通过传递一个集合来构造一个 CompositeView。该集合通过 url 获取其数据。我使用 defer/promise 技术等到集合被填充后再构造视图。

后来我再次调用集合上的 fetch ,修改 url。

令我惊讶的是,CompositeView 使用集合中的新数据重新呈现。我以为我必须做一些事情,例如:

collectionEvents: {
    "sync" : "render"

}

但我什么也没做。根本没有事件绑定。我想在木偶中我必须“手动”处理这个问题。

这看起来与CollectionView: Automatic Rendering有关。模型和项目视图也会发生这种情况吗?为什么有些教程等解释了绑定?

谢谢

——贾斯汀·威利

4

1 回答 1

1

是的,但是唯一会重新渲染的是集合,如果您使用 CompositeView 来显示模型和集合,模型部分将不会重新渲染,您必须为此设置一个事件。因此 CompositeView 具有与 collectionView 相同的行为,只要数据发生变化,它就会重新渲染集合。

对于您的第二个问题,当模型更改时,这不会发生在 ItemViews 中。当它最适合您的应用程序需求时,您必须自己做。

于 2013-07-03T15:28:12.590 回答