私は自分のコンポーネントにドロップダウンを持っています。ここではコンポーネントのコードは次のとおりです。選択オプションでオブジェクトの配列が表示されない
export class MyComponent {
MyObjectArray: MyObject[] = [];
constructor(private _service: MyService)
}
ngOnInit() {
this._service.get().do((response): MyObject[]) => {
this.MyObjectArray = response;
this.MyObjectArray.forEach((obj) => {
console.log(obj.Code)
});
});
私のHTMLは次のとおりです。
<select>
<option [value]="obj.Code" *ngFor="let obj of MyObjectArray; let i = index">{{obj.Code}}</option>
</select>
そして、私のサービスで:
return this._http.get(_url, this.options)
.map(res => res.json())
.catch(super.handlerError);
私がサービスすることを確認するために私のコードでconsole.log
を持っています何かを返し、私は結果を持っています。問題はなぜ私のドロップダウンにバインドされていないのですか?私は要素を調べて、ドロップダウンに項目がありません。
ああ、一つは、div
にを入れてみましたが、span
が入っていました。私はそれが私のドロップダウンに置くとき、それは動作しません理解していないだけです。私は要素を検査する際
EDIT
今、私は私のオブジェクトを見ることができます。しかし、彼らはまだ私のドロップダウンに表示されていません。ここで私は変更するものである:私は手動でも、私のngAfterViewInit()
$('select').material_select();
ネットワークの予期しない待ち時間のような何らかの理由で非同期操作が200ms以上かかる場合、これは機能しません。場合によっては許容されるかもしれませんが、アプリケーションがこのドロップダウンに応じて適切に機能するようにすると、より堅牢な実装が必要になります。 – unitario
男、私の2番目のパラを読んでください。あなたはviewInitでinitできますし、データを取得すると再びオンにします。 @unitario、あなたがあなたの答えを得ることを願っています –
私の選択を '破壊し再開する'方法を知ってもいいですか? –