2015-09-29 2 views
1

Ниже приведен пример кода, кажется, что intellisense не распознает 'exposedMethod', когда класс 'First' ссылается на класс 'Second'.Индекс: нет поддержки intellisense для ссылочного класса

Это не поддерживается Intellisense или я что-то упускаю?

class First{ 
    exposedMethod=()=>{ 

    } 
} 

class Second{ 
    firstClass; 
    constructor(firstClass:First) 
    { 
     firstClass = firstClass; 
    } 

    someFunction=()=>{ 
     this.firstClass.exposedMethod(); //No intellisense support here 
    } 
} 

ответ

2

Вы должны добавить тип к вашему члену

class Second{ 
    // instead of this 
    // firstClass; 
    // we should use this 
    firstClass:First; // here 
    constructor(firstClass:First) 
    { 
     // here we should assign this.firstClass 
     this.firstClass = firstClass; 
    } 

Но наиболее подходящим способом, я бы сказал, это использовать некоторый синтаксический сахар приходит с компилятором TS

class Second{ 
    // this syntax (protected, private, public) will do behind the same as above 
    constructor(protected firstClass:First) 
    { 
    } 
+0

Вау ! не понимал этого. большое спасибо –

Смежные вопросы