Mam plik maszynopisu o nazwie Projects.ts
, że chcę odwoływać się do zmiennej globalnej zadeklarowanej we wtyczce bootstrap o nazwie bootbox.js
.
Chcę uzyskać dostęp do zmiennej wywoływanej bootbox
z klas TypeScript.
Czy to możliwe?
typescript
użytkownik1027303
źródło
źródło
Odpowiedzi:
Musisz poinformować kompilator, że został zadeklarowany:
Jeśli masz lepsze informacje o typie, możesz je dodać zamiast
any
.źródło
declare
oświadczenie?declare var myFunction: any;
?declare var myFunction: (input: string) => void;
Dla tych, którzy jeszcze tego nie wiedzieli, musielibyście umieścić
declare
oświadczenie pozaclass
tym tak:W
TypeScript
deklarowanym słowie kluczowym używane jest miejsce, w którym chcesz zdefiniować zmienną, która mogła nie pochodzić zTypeScript
pliku.To tak, jakbyś powiedział kompilatorowi, że wiem, że ta zmienna będzie miała wartość w czasie wykonywania, więc nie rzucaj błędu kompilacji.
źródło
Jeśli jest to coś, do czego się odwołujesz, ale nigdy nie mutujesz, użyj
const
:źródło
Rozwiązania Sohnee są czystsze, ale możesz także spróbować
źródło
Jeśli chcesz mieć odniesienie do tej zmiennej w całym projekcie, utwórz
d.ts
plik, npglobals.d.ts
. Wypełnij go deklaracjami zmiennych globalnych, np .:Teraz możesz odwoływać się do niego w dowolnym miejscu w projekcie, tak po prostu:
Oto przykład .
źródło
Pobierz typy bootbox
Następnie dodaj do niego odniesienie w pliku .ts.
źródło