2013-02-05 25 views
15

Tôi có hai lớp học coffeescript như thế này. Trong mô hình khung nhìn cơ bản, tôi có một phương thức mà tôi muốn ghi đè trong đứa trẻ thừa kế từ mô hình khung nhìn cơ bản.Làm thế nào tôi có thể ghi đè lên một phương thức cha mẹ trong coffeescript trong khi vẫn có thể gọi cho phụ huynh

class exports.BaseViewModel 
    constructor:() -> 

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

class ChildViewModel extends BaseViewModel 
    constructor:() -> 

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

Điều này không hoạt động vì dòng super @someBaseMethod() tự gọi là tạo vòng lặp vô hạn.

Có thể đạt được những gì tôi muốn ở đây không?

+1

thể trùng lặp của [Gọi phương pháp siêu coffescript] (http: //stackoverflow.com/questions/11520116/calling-coffescript-super-methods) – AbdelHady

Trả lời

31

Vâng, hãy gọi super giống như nó là một chức năng (nó đại diện cho một tham chiếu đến các phiên bản lớp cha của phương pháp này bạn đang ở):

class ChildViewModel extends BaseViewModel 
    constructor: -> 

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

Làm việc một điều trị, cảm ơn một triệu – Neil

Các vấn đề liên quan