2016-11-06 1 views
2

데코 레이팅 된 클래스에 새 메서드를 추가하고 싶습니다. 모든 것이 잘 작동하지만 컴파일러는 메서드가 존재하지 않는다고 불평합니다. 어떻게 컴파일러를 만족시킬 수 있습니까?Typescript 장식 클래스 새 메서드 추가

export function decorate(constructor : Function) { 

    constructor.prototype.someMethod = function() { 

    } 

} 

@decorate 
class Test { 
    constructor() { 
    //Property 'someMethod' does not exist on type 'Test'. 
    this.someMethod(); 
    } 
} 

답변

1

당신은 사용할 수 있습니다

(<any>this).someMethod(); 

또는 :

this['someMethod'](); 

당신이 인터페이스를 구현하는 사실에 있지이기 때문에 당신은 this이 방법 someMethod()이 포함되어 있는지 확인하는 인터페이스를 사용할 수 없습니다 그래서 나는이 두 가지가 유일한 선택이라고 생각합니다 ...