视图是指定给模型的还是指定给Backbone.js中视图的模型

Are views assigned to models or models assigned to views in Backbone.js?

本文关键字:视图 模型 js Backbone      更新时间:2024-04-08

我正在尝试在Backbone.js中为棋盘建模。我的想法是创建一个8x8嵌套的模型阵列,这些模型被分配了视图。代码的简化版本如下:

"main.js"内部:

new App.View.Board({
  model: App.Model.Board()
});

然后在"/model/Board.js"内部:

App.Model.Board = Backbone.Model.extend({
  initialize: function() {
    this.squares = new App.Collection.Squares(
      _.flatten(
        _.map(_.range(1, 9), function(y) {
          return _.map(_.range(1, 9), function(x) {
            return new App.Model.Square({
              x: x,
              y: y,
              view: new App.View.Square()
            });
          });
        })
      )
    );
  }
  ...

无论如何,我永远不知道是将模型指定给视图还是将视图指定给模型。这似乎是个滑坡。模型得到视图还是视图得到模型?

视图获取模型。创建视图时,可以向其传递将要使用的模型。另一方面,模型不采用视图。