2013-02-05 11 views
15

Mam dwie klasy coffeescript podobne do tego. W modelu widoku podstawowego mam metodę, którą chcę przesłonić w potomku, który dziedziczy z podstawowego modelu widoku.W jaki sposób mogę nadpisać metodę rodzica w coffeescript, gdy wciąż mogę zadzwonić do rodzica

class exports.BaseViewModel 
    constructor:() -> 

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

class ChildViewModel extends BaseViewModel 
    constructor:() -> 

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

To nie działa tak dlatego, że linia super @someBaseMethod() nazywa siebie tworząc nieskończoną pętlę.

Czy można osiągnąć to, czego chcę?

+1

możliwy duplikat [Wywoływanie coffeescript Super metod] (http: //stackoverflow.com/questions/11520116/calling-coffescript-super-methods) – AbdelHady

Odpowiedz

31

Tak, zadzwoń super podobnie jak było to funkcja (co stanowi odniesienie do nadklasy wersją metody jesteś w):

class ChildViewModel extends BaseViewModel 
    constructor: -> 

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

Zrobiłem sobie przyjemność, dzięki milionowi – Neil

Powiązane problemy