在大多数我见过的BackboneJS例子中,父级视图会调用子视图上的
此外,如果父视图更新了子视图的“model”属性,那么子视图应该如何知道模型已更改(因此需要调用“render()”)?我猜在这种情况下,父级被迫调用子级的“render()”。虽然这有点暗示,但为什么父级需要知道当其模型发生变化时子级需要重新渲染呢?似乎调用子视图的渲染函数是超出父视图领域的。
render()
函数。这对我来说有点奇怪。也许这完全是为了优化或其他一些原因,但我不明白为什么这种优化不能在子视图本身中实现。难道子视图不应该负责调用自己的render()
吗?似乎在我所有的视图中,我最终都会得到像下面这样的内容:initialize: function() {
this.render();
}
此外,如果父视图更新了子视图的“model”属性,那么子视图应该如何知道模型已更改(因此需要调用“render()”)?我猜在这种情况下,父级被迫调用子级的“render()”。虽然这有点暗示,但为什么父级需要知道当其模型发生变化时子级需要重新渲染呢?似乎调用子视图的渲染函数是超出父视图领域的。