Angular 9 - Не удалось найти канал 'keyvalue' - PullRequest
2 голосов
/ 18 февраля 2020

Канал 'keyvalue' не найден. в angular 9

"@angular/animations": "^9.0.1",
    "@angular/common": "~9.0.1",
    "@angular/core": "~9.0.1",
    "@angular/forms": "~9.0.1",
    "@angular/platform-browser": "~9.0.1",
    "@angular/platform-browser-dynamic": "~9.0.1",
    "@angular/router": "~9.0.1",

 <div *ngFor="let item of faqData | keyvalue; let i=index">
            {{item.key}}:{{item.value}}
          </div>
          <p>Map</p>
          <div *ngFor="let item of map | keyvalue">
            {{item.key}}:{{item.value}}
          </div>

 faqData = { id: 1, name: "Abdul Rafay" };
  object: {[key: number]: string} = {2: 'foo', 1: 'bar'};
  map = new Map([[2, 'foo'], [1, 'bar']]);

1 Ответ

1 голос
/ 18 февраля 2020

Это работает fine with Angular9 и должно прекрасно работать со всеми версиями приложения, использующими angular 6 +.

Однако, если вы также можете попробовать альтернативный способ.

 <div *ngFor="let prop of key">
          <div>key: {{prop}}</div>
          <div>value: {{faqData [prop]}}<div>
 </div> 

, а затем в TS

 get key(){
    return Object.keys(this.faqData );
 }

ИСПРАВЛЕНИЕ: OP обнаружил, что он пропускает CommonModule при импорте

...