Как я могу переопределить родительский метод в coffeescript, все еще имея возможность вызвать родителя
У меня есть два класса coffeescript, что-то вроде этого. В модели базового представления у меня есть метод, который я хочу переопределить в дочернем, который наследуется от базовой модели представления.
class exports.BaseViewModel
constructor: () ->
someBaseMethod: =>
console.log "I'm doing the base stuff"
class ChildViewModel extends BaseViewModel
constructor: () ->
someBaseMethod: =>
@doSomethingFirst()
super @someBaseMethod()
Это не работает так, потому что строка super @someBaseMethod()
вызывает себя, создавая бесконечный цикл.
Можно ли достичь того, чего я хочу здесь?
Ответы
Ответ 1
Да, вызовите super
так же, как это была функция (она представляет ссылку на версию суперкласса метода, в котором вы находитесь):
class ChildViewModel extends BaseViewModel
constructor: ->
someBaseMethod: =>
@doSomethingFirst()
super()