【问题标题】:Backbone model: initialize vs. constructor骨干模型:初始化与构造函数
【发布时间】:2016-04-26 16:49:48
【问题描述】:

阅读docs,我看到您可以替换模型类上Backbone 扩展的构造函数。但是这样做与在初始化方法上这样做有什么区别?当你使用new时不是都被调用了吗?

var Library = Backbone.Model.extend({
  constructor: function() {
    this.books = new Books();
    Backbone.Model.apply(this, arguments);
  },
  parse: function(data, options) {
    this.books.reset(data.books);
    return data.library;
  }
});

对比

var Library = Backbone.Model.extend({
  initialize: function() {
    this.books = new Books();
    Backbone.Model.apply(this, arguments);
  },
  parse: function(data, options) {
    this.books.reset(data.books);
    return data.library;
  }
});

【问题讨论】:

标签: javascript backbone.js constructor model initialization


【解决方案1】:

"constructor" 在 Backbone 设置结构之前运行。
initialize”在结构的构造函数内部调用。

换句话说,如果您需要在 Backbone 设置结构之前向对象添加任何内容,您可能需要使用“constructor”。如果您需要在 Backbone 设置结构后向对象添加某些内容,您可以使用“initialize”。

发件人:https://github.com/jashkenas/backbone/issues/720

【讨论】:

    猜你喜欢
    • 2012-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 2012-04-11
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    相关资源
    最近更新 更多