"let-" is only supported on ng-template elements

Leif Walder picture Leif Walder · Dec 18, 2017 · Viewed 10.9k times · Source

I am trying to get my frontend-application(Angular5.1.x) to run but it stops due to template parse error:

"let-" is only supported on ng-template elements. ("
</thead>
<tbody>
<template ngFor [ngForOf]="rows" [ERROR ->]let-rowz="$implicit" let-    index="index">
<tr *ngIf="!(datePicker.onlyCurrentMonth && rowz[0].sec"):     
ng:///DatepickerModule/DayPickerComponent.html@52:58
    at syntaxError (compiler.js:485)
    at TemplateParser.parse (compiler.js:24633)
    at JitCompiler._parseTemplate (compiler.js:34442)
    at JitCompiler._compileTemplate (compiler.js:34417)
    at compiler.js:34318
    at Set.forEach (<anonymous>)
    at JitCompiler._compileComponents (compiler.js:34318)
    at compiler.js:34188
    at Object.then (compiler.js:474)
    at JitCompiler._compileModuleAndComponents (compiler.js:34187)

I figured I need to follow this on-topic issue, stating I need to use ngx-bootrap@[email protected], but it doesnt work with that or v.2.0.0-rc.0

https://github.com/valor-software/ngx-bootstrap/issues/3024

...any help is appreciated

Answer

Alexei - check Codidact picture Alexei - check Codidact · Apr 13, 2018

I have encountered this error when upgraded from Angular 4.x.x to 5.x.x. Original code was:

<template let-item>

</template>

This worked fine in Angular 4, but failed in 5. Simply using ng-template worked correctly (no packages installation was required, no cache clean required):

<ng-template let-item>

</ng-template>