用多个视图注册一个主干模型



这是一个架构问题。假设我有一个模型N个视图可能绑定(也可能不绑定)到它。如何在该模型中进行更改以使所有视图都更改?我怀疑这其中一定有某种设计模式。我想让我的主干模型有一个视图数组,并有一个函数,该函数只是通过该数组并触发视图的名称作为事件。

这是一种方法吗?我该用什么句型呢?我该如何设计这样的东西?

您的模型不应该知道呈现它的视图,以保持MVC的关注点分离。阅读有关事件的文档。您可以让视图侦听change事件,然后相应地更新它们自己。

Views的文档中有一个很好的例子:

var DocumentRow = Backbone.View.extend({
  tagName: "li",
  className: "document-row",
  events: {
    "click .icon":          "open",
    "click .button.edit":   "openEditDialog",
    "click .button.delete": "destroy"
  },
  initialize: function() {
    this.listenTo(this.model, "change", this.render);
  }
  render: function() {
    ...
  }
});

最新更新