我在尝试在 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>
所以 Visual Studio Code 给了我 3 个参数的错误ng-template
。但是,编译时占位符确实显示“列”的正确值。
如果我离开它**let-column**
代替**let-column="column"**
错误消失了,但我需要的值也消失了(列现在未定义,我需要该值)。
有人能帮忙吗?
Update:此 ng-template 错误似乎已由 Angular Language Service v0.900.11+ 版本解决。请在回滚到任何先前版本之前尝试该版本或更高版本,如下所示。
原来的:这与 VS Code 中运行的 Angular 语言服务扩展有关。具体来说,当前高于 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 https://github.com/angular/vscode-ng-language-service/releases/tag/v0.900.4
安装 .vsix 文件的说明位于 Angular 语言服务的扩展信息页面上,当您单击扩展选项卡中的扩展时,VS Code 中会出现该页面。我把它们包括在这里:
安装特定的发布版本
下载您要安装的版本的 .vsix 文件
发布选项卡。
不要直接打开 .vsix 文件。相反,在 Visual Studio 代码中,
转到扩展选项卡。单击右上角的“...”菜单
在扩展选项卡的一角,选择“从 vsix 安装...”,然后
选择您刚刚下载的版本的 .vsix 文件。
还可以使用以下命令安装扩展:
代码--install-extension /path/to/ngls.vsix
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)