Рассмотрим следующий код:
import { Component } from "@angular/core";
@Component({
template:`
<div *ngIf="isBar(test)">
{{test.someProp}}
</div>
`
})
export class TypeGuardFail{
test: Foo;
isBar(val: Bar | any): val is Bar
{
return (<Bar>val).someProp !== undefined;
}
}
export class Foo{
}
export class Bar extends Foo{
someProp = "";
}
Это прекрасно работает, когда я его запускаю. Однако в VS Code я получаю волнистую красную линию, которая гласит: Identifier 'someProp' is not defined. 'Foo' does not contain such a member.
Очевидно, что эта ошибка не имеет смысла в этом месте, и я хотел бы знать, как я могу от нее избавиться? Кроме того, когда я использую этот тип защиты где-то в коде TS, я не получаю никаких ошибок, так что это просто в шаблоне, где он работает неправильно.