वर्तमान में मेरे पास एक ऐसा फ़ंक्शन है जो एक एपीआई से श्रेणी [] ऑब्जेक्ट्स की एक सरणी पकड़ता है, श्रेणी मॉडल इस तरह दिख रहा है:

class CategoryModel {
    constructor(
        public id: number,
        public title: string,
        public clues_count: number,
    ) { }
}

export {CategoryModel};

हम इस तरह एपीआई का उपयोग करते हैं:

  populateCategories() {
    this.api.getCategories$()
    .subscribe((response)=>{
        this.category = response;
    });
  }
}

यह category: CategoryModel[]; नामक एक वैरिएबल को पॉप्युलेट करता है

मेरे पास एक ऑटो पॉप्युलेट कोणीय वस्तु है जो इस तरह दिखती है और श्रेणी चर से पकड़ लेती है:

      <form class="example-form">
        <mat-form-field class="example-full-width">
          <input type="text" placeholder="Category..." aria-label="Number" matInput [formControl]="myControl" [matAutocomplete]="auto">
          <mat-autocomplete #auto="matAutocomplete">
            <mat-option *ngFor="let cat of category | async" [value]="category">
              {{cat.id}}
            </mat-option>
          </mat-autocomplete>
        </mat-form-field>
      </form>

क्या श्रेणी चर एक एसिंक फैशन में पॉप्युलेट होने के बावजूद इसे पॉप्युलेट करने का कोई तरीका है?

0
ariagno 29 अक्टूबर 2019, 19:52

1 उत्तर

सबसे बढ़िया उत्तर

Async पाइप केवल वादों या वेधशालाओं के साथ काम कर सकता है।

तो अगर आप इसे ऐसा करते हैं तो इसे काम करना चाहिए:

अपने घटक में एक सार्वजनिक फ़ील्ड जोड़ें:

categories$ = this.api.getCategories$()

और कैटेगरी को कैटेगरी$ से बदलें जैसे नीचे दिए गए उदाहरण में:

<mat-option *ngFor="let cat of categories$ | async" [value]="category">
1
Ruslan Gataullin 29 अक्टूबर 2019, 17:01