Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 扩展主干类并仅重写对象的一个字段_Javascript_Backbone.js - Fatal编程技术网

Javascript 扩展主干类并仅重写对象的一个字段

Javascript 扩展主干类并仅重写对象的一个字段,javascript,backbone.js,Javascript,Backbone.js,我有一个主干类(它本身是扩展的),我想扩展它。该类有一个options对象。 在扩展类中,我想覆盖options对象的一个字段 BaseClass = Backbone.View.extend({ options: { width: 800, height: 600, wantToOverride: {...} }, ... events: { 'mousedown' : 'onMouseDown

我有一个主干类(它本身是扩展的),我想扩展它。该类有一个options对象。 在扩展类中,我想覆盖options对象的一个字段

BaseClass = Backbone.View.extend({

    options: {
        width: 800,
        height: 600,
        wantToOverride: {...}
    },
    ...

    events: {
        'mousedown' : 'onMouseDown'
    }
}


DerivedClass = BaseClass.extend({?????})
实现这一目标的最佳方式是什么


此外,假设在新类中我想添加一个事件,我该如何做?

父级
选项
将在
DerivedClass上可用。\uuuu super\uuuu.options
,并且
构造函数在任何其他操作之前运行,因此您可以在该方法中根据需要组合对象。例如:

DerivedClass = BaseClass.extend({
  options: {
    wantToOverride: 'foo'
  },
  events: {
    'click': 'onClick'
  },
  constructor: function() {
    var parentOptions = this.__super__.options,
        parentEvents = this.__super__.events;

    this.options = _.extend({}, parentOptions, this.options);
    this.events = _.extend({}, parentEvents, this.events);
  }
});

如果在许多类中都会发生这种情况,您可能希望使用此构造函数设置基类,并使所有内容都从中继承。

javascript抱怨“超级”未定义