2017-10-25 3 views
1

私はカテゴリのリストを保持し、サービスを通じてそれらを受け取るParseServerインスタンスを持っています。Parse APIからSelectオプションをAngularで入力する

これらのカテゴリは、HTML形式で<選択> -optionsとして表示する必要があります。しかし、カテゴリがあまりにも遅くフェッチされ、選択ドロップダウンがすでにレンダリングされていて、そこにデータベースエントリが表示されません。

出力{{categories}}をhtmlコードのどこかに置くと、正しい長さのオブジェクト配列が表示されます。でも、私は「<オプションを私のオプションに名前を付けるとき...> C:{{私}} {{}} categories.length </option>の正しい長さが表示されている

HTML

<select class="form-control" name="category" formControlName="category"> 
     <option value="">-</option> 
     <option ngfor="let cat of (categories | async); let i = index" [ngValue]="cat">c:{{i}}&lt;/option> 
    </select> 

成分

export class CreateComponent implements OnInit { 
    categories: any[]; 
    ... 
    constructor(private logService:LogService, private fb: FormBuilder, private parseManager: ParseManager, private categoriesService: CategoriesService) { 
    ... 
    } 
    ngOnInit() { 

    this.parseManager.categoriesGet((cats) => { 
     this.categories = cats; 
     } 
    ); 
    } 

    ... 
} 

サービス

var Parse = require('parse').Parse; 
Parse.initialize("blabla123123123"); 

Parse.serverURL = "http://localhost:1337/parse"; 

export class ParseManager { 

    constructor() { 

    } 

categoriesGet(success: (categories)=>void){ 
    var query = new Parse.Query("Category"); 
    query.find({ 
     success: function(categories) { 
     console.log("Getting categories finished: "); 
     console.log(categories); 
     success(categories); 
     } 
    }) 
    } 
+0

'' ngfor = "(カテゴリ|非同期)のcatをlet; i = index" '' ngfor = ''にする必要があります|カテゴリ| async; let i = index "'あなたが 'categories'オブジェクトここに内容は – jitender

+0

私はそれを助けなかったかっこなしでそれを試みた。 categoriesオブジェクトは単なるParse-Server ObjectArrayです。私はそれを独自のObjectClassesに変換しません。 –

答えて

0

私には恥ずかしいものがありましたが、問題が見つかりました。WebStormのオートコンプリートは、* ngForをngForに変更しました。今、私はそれを* ngForに戻しました。

関連する問題