在CoffeeScript中,似乎在实例化子类时不会调用超类构造函数。
有解决方法吗?
以下是一个例子:
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
为空。
谢谢!
答案 0 :(得分:5)
我认为你需要在子类中调用super
class A
element = null
constructor: ->
element = document.createElement "div"
hide: =>
element.style.display = "none"
class B extends A
constructor: ->
super
@hide() #error!