ng-template 错误:模板上下文未定义名为 ...(Kendo Grid)的成员

Pet*_*nov 6 kendo-ui kendo-grid ng-template angular

尝试在 Angular 中将 ng-template 与 Kendo Grid 一起使用时遇到问题。我拥有的 html 是有效的,并且在启动时可以正常编译和运行,但是 Visual Studio Code 显示此错误:

模板上下文未定义名为 column 的成员

这是我的代码:

<kendo-grid-column field="countryID"
  title="{{ 'location.country' | translate }}"
  width="10">
  <ng-template kendoGridEditTemplate
    let-dataItem="dataItem"
    let-column="column"
    let-formGroup="formGroup">
    <app-dropdown-single
      [placeholder]="column.title"
      [formControl]="formGroup?.controls['countryID']"
      [data]="dataDdwCountry"
      valueField="id">
    </app-dropdown-single>
  </ng-template>
</kendo-grid-column>
Run Code Online (Sandbox Code Playgroud)

所以 Visual Studio Code 给了我ng-template. 但是,编译时占位符确实显示了“列”的正确值。如果我保留它**let-column**而不是**let-column="column"**错误消失,但我需要的值也是如此(列现在未定义,我需要该值)。

有人能帮忙吗?

Geo*_*e K 12

更新: Angular 语言服务版本 v0.900.11+ 似乎已经解决了这个 ng-template 错误,请在回滚到任何以前的版本之前尝试该版本或更高版本,如下所示。

原文: 这与运行在 VS Code 中的 Angular Language Service 扩展有关。具体而言,当前高于 v0.900.4 的任何服务版本。通过查看 VS Code 中已安装的扩展选项卡,检查您当前安装的 Angular 语言服务版本。

在 Angular 语言服务团队或 Kendo UI 团队修复此问题之前(不确定谁有错),您可以暂时禁用 VS Code 中扩展的自动更新,并通过安装来安装 Angular 语言服务的 v0.900.4 版本来自 GitHub 发布页面的 .vsix 文件:https : //github.com/angular/vscode-ng-language-service/releases/tag/v0.900.4

安装 .vsix 文件的说明位于 VS Code 中出现的 Angular 语言服务的扩展信息页面上,当您单击扩展选项卡中的扩展时。我把它们包括在这里:

安装特定的发布版本

从版本选项卡下载要安装的版本的 .vsix 文件。

不要直接打开 .vsix 文件。相反,在 Visual Studio 代码中,转到扩展选项卡。单击扩展选项卡右上角的“...”菜单,选择“从 vsix 安装...”,然后选择刚下载的版本的 .vsix 文件。

也可以使用以下命令安装扩展:

代码 --install-extension /path/to/ngls.vsix