3

在 CoffeeScript 中,当您实例化子类时,似乎没有调用超类构造函数。

有没有解决的办法?

这是一个例子:

class A
    element = null

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

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

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

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

谢谢!

4

1 回答 1

5

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

class A
    element = null

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

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

class B extends A
    constructor: ->
        super
        @hide() #error!
于 2013-02-12T20:15:33.730 回答