Автозаполнение машинописи - PullRequest
0 голосов
/ 28 ноября 2018

У меня проблемы с автозаполнением в моем коде.Основная идея заключается в том, чтобы включить автозаполнение, когда я использую фабричный класс для создания объектов:

class Test1 {
    method1(){}
}
class Test2 {
    method2(){}
}
class Test_Factory {
    create(type) {
        if (type === "test1") {
            return new Test1()
        } else if (type === "test2") {
            return new Test2()
        }
    }
}
let factory1 = new Test_Factory()
let tst1 = factory1.create("test1")
tst1. // autocomplite not work

Есть идеи?

1 Ответ

0 голосов
/ 28 ноября 2018

Вы возвращаете несколько типов, чтобы машинопись не знала, что именно это за тип, поэтому вы должны привести возвращаемое значение к ожидаемому типу для правильной работы intellisense.

let tst1 = factory1.create('test1') as Test1;

или

let tst1 = <Test1>factory1.create('test1');
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...