Не удается связать с 'ngForOf' в Angular 8

У меня есть следующая проблема, которую я не могу решить в 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>
0
задан 27.11.2019, 19:36
2 ответа

Который звучит редко по имени, но я думаю, что то, чего тебе не хватает, состоит в том, чтобы иметь значение в modulo.ts FormsModule:

import { FormsModule } from '@angular/forms';

...
imports: [
    ...
    FormsModule,
    ...
],
0
ответ дан 01.12.2019, 10:45

Ты был бы должен использовать 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 в функции в если.

типов Привета

1
ответ дан 01.12.2019, 10:45