15

我有两个这样的咖啡脚本类。在基本视图模型中,我有一个要在从基本视图模型继承的子项中覆盖的方法。

class exports.BaseViewModel
    constructor: () ->

    someBaseMethod: =>
        console.log "I'm doing the base stuff"

class ChildViewModel extends BaseViewModel
    constructor: () ->

    someBaseMethod: =>
        @doSomethingFirst()
        super @someBaseMethod()

这不能按原样工作,因为该行super @someBaseMethod()调用自身创建一个无限循环。

有可能在这里实现我想要的吗?

4

1 回答 1

31

是的,super就像它是一个函数一样调用(它表示对您所在方法的超类版本的引用):

class ChildViewModel extends BaseViewModel
  constructor: ->

  someBaseMethod: =>
    @doSomethingFirst()
    super()
于 2013-02-05T13:47:29.573 回答