У меня есть следующая проблема, которую я не могу решить в Angular 8, даже с решениями, которые они рекомендуют на этой же странице.
Я уже использовал ngFor в другом компоненте, поэтому я не знаю, что может происходить.
В массиве все правильно, служебная переменная, модули CommonModule и BrowserModule ... правда в том, что я не могу найти решение.
compiler.js:2175 Uncaught Error: Template parse errors:
Can't bind to 'ngForOf' since it isn't a known property of 'a'. (" <div class="ae-masonry ae-masonry-md-2 ae-masonry-xl-4">
<a [ERROR ->]*ngFor="let producto of _productoService.productoFiltrado" [routerLink]="['/item',producto.cod]"
"): ng:///AppRoutingModule/SearchComponent.html@2:7
Property binding ngForOf not used by any directive on an embedded template. Make sure that the property name is spelled correctly and all directives are listed in the "@NgModule.declarations". (" <div class="ae-masonry ae-masonry-md-2 ae-masonry-xl-4">
[ERROR ->]<a *ngFor="let producto of _productoService.productoFiltrado" [routerLink]="['/item',producto.cod]"
"): ng:///AppRoutingModule/SearchComponent.html@2:4
at syntaxError (compiler.js:2175)
at TemplateParser.parse (compiler.js:11388)
at JitCompiler._parseTemplate (compiler.js:25963)
at JitCompiler._compileTemplate (compiler.js:25951)
at compiler.js:25895
at Set.forEach (<anonymous>)
at JitCompiler._compileComponents (compiler.js:25895)
at compiler.js:25808
at Object.then (compiler.js:2166)
at JitCompiler._compileModuleAndComponents (compiler.js:25807)
search.component.html
<div class="ae-masonry ae-masonry-md-2 ae-masonry-xl-4">
<a *ngFor="let producto of _productoService.productoFiltrado" [routerLink]="['/item',producto.cod]"
class="rk-item ae-masonry__item">
<img src="assets/img/{{producto.url}}.jpg" alt="">
<div class="item-meta">
<h2>{{producto.titulo}}</h2>
<p>{{producto.categoria}}</p>
</div>
</a>
</div>
Ты был бы должен использовать pipe | async и инициализировать объект "продукты" в твоем файле typescript
Составляющий пример.TS
productos: Observable<any[]>;
ngOnInit(){
this.productos= this._productoService.getProductos();
}
и в HTML
<a *ngFor="let producto of productos| async" [value]="producto.id">{{producto.nombre}}</a>
"Рекомендации" не использовать Async, а помещать модель списка и герметизировать в корпусе функцию getProductos в функции в если.
типов Привета