gpt4 book ai didi

javascript - 扩展主干类并仅覆盖对象的一个​​字段

转载 作者:行者123 更新时间:2023-11-28 01:07:54 24 4
gpt4 key购买 nike

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

BaseClass = Backbone.View.extend({

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

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


DerivedClass = BaseClass.extend({?????})

实现这一目标的最佳方法是什么?

此外,假设在新类(class)中我想添加一个事件,我该怎么做?

最佳答案

选项将在DerivedClass.__super__.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 - 扩展主干类并仅覆盖对象的一个​​字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24846249/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com