Ошибка ng-template: контекст шаблона не определяет член с именем ... (Kendo Grid) - PullRequest
6 голосов
/ 24 января 2020

У меня проблема при попытке использовать ng-template с Kendo Grid в Angular. html, который у меня есть, действителен, правильно компилируется и функционирует при запуске, но затем код Visual Studio показывает эту ошибку:

Контекст шаблона не определяет элемент с именем 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"**, ошибка исчезнет, ​​но и значение, которое мне нужно (теперь столбец оставлен неопределенным, а мне нужно значение).

Может кто-нибудь помочь с этим?

1 Ответ

12 голосов
/ 25 января 2020

Обновление: Эта ошибка ng-шаблона, по-видимому, была устранена с помощью Angular Версия языковой службы v0.900.11 + Пожалуйста, попробуйте эту версию или выше, прежде чем переходить к любой предыдущей версии, как указано ниже.

Оригинал: Это связано с расширением Angular Language Service, работающим в VS Code. В частности, любая версия службы, которая в настоящее время превышает v0.900.4. Проверьте, какая версия языковой службы Angular установлена ​​на данный момент, на вкладке установленных расширений в VS Code.

Пока это не будет исправлено командой языковой службы Angular или командой пользовательского интерфейса Kendo ( не знаете, кто виноват), вы можете временно отключить автоматическое обновление расширений в VS Code и установить версию v0.900.4 языковой службы Angular, установив файл .vsix со страницы GitHub Releases здесь: https://github.com/angular/vscode-ng-language-service/releases/tag/v0.900.4

Инструкции по установке файла .vsix находятся на странице информации о расширении для языковой службы Angular, которая появляется в VS Code, когда вы щелкаете по расширению на вкладке расширений. Я включил их здесь:

Установка конкретной сборки выпуска

Загрузите файл .vsix для выпуска, который вы хотите установить, на вкладке выпусков.

Не открывайте файл .vsix напрямую. Вместо этого в коде Visual Studio go на вкладке расширений. Нажмите в меню «...» в правом верхнем углу вкладки расширений, выберите «Установить из vsix ...», а затем выберите файл .vsix для только что загруженного выпуска.

Расширение также может быть установлен с помощью следующей команды:

code --install-extension /path/to/ngls.vsix

...