在CoffeeScript中,当实例化子类时,似乎未调用父类(super class)构造函数。

有没有解决的办法?

这是一个例子:

class A
    element = null

    constructor: ->
        element = document.createElement "div"

    hide: =>
        element.style.display = "none"

class B extends A
    constructor: ->
        @hide() #error!

我希望首先调用A的构造函数,然后再调用B的构造函数。如果B然后调用hide方法,则它应该隐藏在A的构造函数中创建的元素,而不是说element为null。

谢谢!

最佳答案

我认为您需要在子类中调用super

class A
    element = null

    constructor: ->
        element = document.createElement "div"

    hide: =>
        element.style.display = "none"

class B extends A
    constructor: ->
        super
        @hide() #error!

10-07 13:23
查看更多