Большинство других ответов не идеальны.
Я также сталкиваюсь с аналогичной проблемой сегодня утром. Я пробовал так много «решений» на SO, но ни один из них не генерирует ошибки типа абсолютно и позволяет запускать тип перехода в IDE (webstorm или vscode).
Наконец, отсюда
https://github.com/Microsoft/TypeScript/issues/3180#issuecomment-102523512
, я нахожу разумное решение для прикрепления типирования для глобальной переменной, которая действует как интерфейс / класс и пространство имен.
Пример ниже:
// typings.d.ts declare interface Window { myNamespace?: MyNamespace & typeof MyNamespace } declare interface MyNamespace { somemethod?() } declare namespace MyNamespace { // ... }
Теперь приведенный выше код объединяет типизации пространства имен
MyNamespace
и интерфейсаMyNamespace
в глобальную переменнуюmyNamespace
(свойство окна).
Попробуйте это
<ul *ngFor="let item of data">
<li (click)="replace('{current}', item)">{{item}}</li>
</ul>