Angular 格式化打底表的角度可观测数据

Angular 格式化打底表的角度可观测数据,angular,primeng,angular2-observables,rxjs-observables,Angular,Primeng,Angular2 Observables,Rxjs Observables,我有一个基于Angular.io教程的项目,包括“Hero”-接口和数据,以及使用HTTPClient的“HeroService” 我能够获取数据,并在模板中使用标准HTML显示数据,但在使用Priming表时,不能使用他们网页中的示例。因此,我有模板所需的数据,但我不确定如何正确地将其传递给Priming。我希望在不改变HeroSerice工作方式的情况下做到这一点 一般来说,我对观察到的东西、承诺和相关的技术感到困惑,所以很难进一步描述。我读过,但没有解决我的问题 英雄界面: export

我有一个基于Angular.io教程的项目,包括“Hero”-接口和数据,以及使用HTTPClient的“HeroService”

我能够获取数据,并在模板中使用标准HTML显示数据,但在使用Priming表时,不能使用他们网页中的示例。因此,我有模板所需的数据,但我不确定如何正确地将其传递给Priming。我希望在不改变HeroSerice工作方式的情况下做到这一点

一般来说,我对观察到的东西、承诺和相关的技术感到困惑,所以很难进一步描述。我读过,但没有解决我的问题

英雄界面:

export interface Hero {
  id: number;
  name: string;
}
InMemoryDataService:

export class InMemoryDataService implements InMemoryDbService {
  createDb() {
    const heroes = [
      { id: 11, name: 'Dr Nice' },
      { id: 12, name: 'Narco' },
      { id: 13, name: 'Bombasto' },
      { id: 14, name: 'Celeritas' },
      { id: 15, name: 'Magneta' },
      { id: 16, name: 'RubberMan' },
      { id: 17, name: 'Dynama' },
      { id: 18, name: 'Dr IQ' },
      { id: 19, name: 'Magma' },
      { id: 20, name: 'Tornado' }
    ];
    return {heroes};
  }
服务中的方法:

  /** GET heroes from the server */
  getHeroes(): Observable<Hero[]> {
    return this.http.get<Hero[]>(this.heroesUrl)
      .pipe(
        catchError(this.handleError<Hero[]>('getHeroes', []))
      );
  }
所以,问题是:

这项工作:

  <ul class="heroes">
    <li *ngFor="let hero of heroes">
      <a routerLink="/detail/{{hero.id}}">
        <span class="badge">{{hero.id}}</span> {{hero.name}}
      </a>
    </li>
  </ul>

    您使用了错误的变量名

    <ng-template pTemplate="body" let-hero>
    
    
    
    在上一行中,您将变量命名为“hero”,以访问“heros”数组的各个元素。因此,属性的名称应如下所示:

    <td>{{hero.id}}</td>
    
    {{hero.id}
    
    成功了!但是我认为你在回复中忘记了把英雄改成英雄。我还必须删除“| Async”,因为:'Element'|'不是有效的属性名。我认为在使用可观察物时这是强制性的?是的,我错过了!
    <ng-template pTemplate="body" let-hero>
    
    <td>{{hero.id}}</td>