在backbone.js中,模型知道它的视图是错误的吗?

Zan*_*ndo 3 javascript model-view-controller backbone.js

假设我有大量的Image模型,并且在任何时候,实际上只渲染了50个缩略图视图.我想让用户可以选择从集合中看到另外50个随机图像......所以我想给每个Image模型一个onDisplay属性.

show-random方法选择50个随机项并将onDisplay设置为true.其中一些项目可能已经被渲染...如果没有,则创建一个新的缩略图视图并附加到图像模型.如果视图已经呈现,那么它只是重新显示/附加到DOM.

如果模型具有指向它的指针,则最容易检查视图的存在.但是我在这里违反了关注点吗?

Lam*_*bda 8

在MVC设计模式中,模型不应该对视图有任何了解.例如,这允许以多种方式查看模型,例如HTML或在canvas元素中呈现.

这可以在下图中看到:

MVC

模型可以仅间接更新视图,例如通过触发事件.

图像从这里复制.