javascript - 在 backbone.js 中,模型知道它的 View 是错误的吗?

标签 javascript model-view-controller backbone.js

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

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

如果模型有指向它的指针,那么检查 View 是否存在似乎最容易完成。但是我在这里违反了关注点分离吗?

最佳答案

在 MVC 设计模式中,模型不应该知道关于 View 的任何信息。例如,这允许以不止一种方式查看模型,比如作为 HTML 或在 Canvas 元素中呈现。

这可以在下图中看出:

MVC

模型只能间接更新 View ,例如通过触发事件。

图像复制自 here .

关于javascript - 在 backbone.js 中,模型知道它的 View 是错误的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9050083/

相关文章:

backbone.js - Backbone 本地存储 “undefined is not a function”

javascript - Phonegap - Xcode 中的 Javascript 调试

java - 传送门 :actionURL Spring MVC Portlet

c# - Request.Cookies 为 null ASP.NET MVC

javascript - 主干模型 : defaults based on a condition

model-view-controller - 如何在主干应用程序中显示反馈/错误消息

javascript - div 的不透明度会影响 innerHTML 值

javascript - React Js组件未更新

javascript - 在运行时在javascript数组中添加对象

ruby-on-rails - 在 MVC 框架(例如 Ruby on Rails)中,通常 Model 拼写为单数,而 controller 和 view 拼写为复数吗?