2

我正在尝试与 JS 框架Stapes.js建立父/子链接。

这是我的代码:

var Parent = Stapes.subclass({
    constructor: function () {
        this.name = 'syl';
    }
});

var Child = Parent.subclass({
    constructor: function (value) {
        this.value = value;

        console.log(this.name); // undefined
    }
});

var child = new Child('a value');

在这里拉小提琴。

如何从子类访问父类的 name 属性?

4

2 回答 2

5

对于那些懒得点击链接的人,这是我在 Github 上给出的完整答案:

子类不会自动运行其父类的构造函数。您需要手动运行它。你可以这样做:

var Child = Parent.subclass({
    constructor : function() {
        Parent.prototype.constructor.apply(this, arguments);
    }
});

或这个:

var Child = Parent.subclass({
    constructor : function() {
        Child.parent.constructor.apply(this, arguments);
    } 
});

在这两种情况下,做一个

var child = new Child();
alert(child.name);

将给出一个带有“syl”的警报框

于 2013-04-17T10:15:05.350 回答
0

问题已解决,查看详情

于 2013-03-25T13:34:35.120 回答