2013-02-05 22 views
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() ही कॉल अनंत लूप बनाने।

क्या मुझे यहां प्राप्त करना संभव है?

+1

[coffescript सुपर तरीकों कॉलिंग] (http के संभावित डुप्लिकेट: //stackoverflow.com/questions/11520116/calling-coffescript-super-methods) – AbdelHady

उत्तर

31

हाँ, फोन super जैसे यह एक समारोह (यह आप में हैं विधि के सुपर क्लास संस्करण के लिए एक संदर्भ का प्रतिनिधित्व करता है) था:

class ChildViewModel extends BaseViewModel 
    constructor: -> 

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

एक इलाज किया, धन्यवाद लाखों – Neil

संबंधित मुद्दे