【问题标题】:It seems that there is a flaw with Backbone.js TodoMVC applicationBackbone.js TodoMVC 应用程序似乎存在缺陷
【发布时间】:2014-03-24 14:18:37
【问题描述】:

这里指的是http://todomvc.com/architecture-examples/backbone/

在 app.AppView 中,当添加单个待办事项时,会多次调用 render() 方法。

如果我没记错的话,多次调用 render() 方法是不好的。这是 TodoMVC 实现中的缺陷吗?

【问题讨论】:

  • 添加到集合会触发一次add 事件...?
  • 是的,@jgillich,当您将项目添加到集合时,“add”事件类型会调用一次回调函数。但是,这与问题有什么关系?
  • 多次调用render 绝对没问题,除非你依赖它只被调用一次。这一切都取决于实现,但在我的 Backbone 应用程序中,我总是在没有问题的情况下呈现整个视图(我认为这是常见的做法)。

标签: backbone.js todomvc


【解决方案1】:

在大多数情况下,你是对的。

然而,在 Todo 案例中,似乎只有“add”事件被触发。这是因为显然没有(例如)“同步”事件,因为它使用本地存储并且实际上并未与服务器同步。

换句话说,在 Todo 非常具体的情况下(由于实现)看起来并非如此,但在大多数情况下,在“所有”事件上注册处理程序会触发多次渲染。

【讨论】:

  • David,为什么你认为多次调用 render() 方法没有问题?你错了,'all'事件监听器多次触发它的监听器。
  • 哎呀,我想我看错了代码...为了简单起见,代码可能使用了“all”事件。否则,使用“添加”和“删除”事件(甚至只是“同步”)仅对您关心的事件做出反应。
猜你喜欢
  • 1970-01-01
  • 2012-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多