使用键值管道检查打字稿类型

时间:2021-02-08 18:18:43

标签: typescript ionic-framework syntax-error

我正在处理一个 Ionic/Angular 项目,我正在尝试消除 html 文件中的类型检查问题。

我的 .ts 文件中有 hTest 变量,就像这样

     hTest: {[k:string]: {fn:string, ln:string}} = {'user1': {fn: 'f1', ln: 'l1'}, 'user2': {fn: 'f2', ln: 'l2'}};

Typescript 似乎对此很满意。我循环显示它们在我的 html 视图中

enter image description here

但是当我使用 usr.value.fn 或 usr.value.ln 在 html 中使用键值管道访问它们时,打字稿不理解 fn 和 ln 是什么(红色下划线)。但是它会正确打印出来,如下所示,所以它确实得到了值。

enter image description here

这是我在 Visual Studio 上使用的 TS 版本 tsc --version gives Version 4.1.3

如何让 Typescript 理解上面 html 中的 fn 和 ln 变量,并且不通过下划线显示语法错误?

谢谢, 桑杰。

1 个答案:

答案 0 :(得分:1)

您的问题是关于输入的错误警告消息。它与 Angular 提供的 KeyValuePipe 相关。您可以通过在 IDE 中启用名为 Ivy 的新 Angular-language-service 来解决此问题。

这里有一个错误报告,演示了同样的问题:Generics do not correctly infer in template pipe usage

如何在 Visual Studio Code 中启用 Ivy:https://github.com/angular/vscode-ng-language-service/releases/tag/v11.1.0