РЕШЕНИЕ:NgFor поддерживает только связывание с итерируемыми и Bootstrap-Select-Box пуст
Мы решили 2 проблемы здесь:
1) Неправильное назначение с httpt.get , мы получили сообщение об ошибке:
ORIGINAL EXCEPTION: Cannot find a differ supporting object
'[object Object]' of type 'object'.
NgFor only supports binding to Iterables such as Arrays.
2) Сроки с Bootstrap-Select-Box; Опция-поля пустые
1) НЕПРАВИЛЬНО ПЕРЕДАЧА
После присвоения является неправильным:
this.agency = this.ws.get(serviceUrls.agency)
.subscribe(
(data:any) => this.agency = data,
(err:any) => console.debug('AGENCY ERROR:',err),
() => console.debug(this.agency)
);
и дает выход:
[Object, Object, Object, Object , ..]
что не итератора с помощью ngFor и должна быть исправлена в:
this.ws.get(serviceUrls.agency)
.subscribe(
(data:any) => **this.agency = data**, // <-- ONLY HERE
(err:any) => console.debug('AGENCY ERROR:',err),
() => console.debug(this.agency)
);
Для полноты картины, это ws.get-метод:
get(url: string) {
return this.http.get(url)
.map((data:any) => data.json());
}
и это agency:
agency: any[];
2) СРОКИ ПРОБЛЕМА Bootstrap-SELECT & ANGULAR2
Это бутстрапом-Select-Box (немного - относительно CI - адаптированный вариант):
<select [(ngModel)]="localValues.agency"
name="agency"
id="agency"
class="selectpicker select-search"
data-selectpicker
data-live-search="true"
required="">
<option
*ngFor="let item of agency"
[ngValue]="item.value">
{{ item.label }}
</option>
</select>
Активизирующаяся из selectpicker происходит в:
ngAfterViewChecked() {
//noinspection TypeScriptUnresolvedFunction
$('.selectpicker').selectpicker();
}
Но importang вещь отсутствовала; поле выбора было отображено до того, как наблюдаемые испускают данные. Поэтому мы должны проверить наличие агентства до и после этого сделать поле:
ngAfterViewChecked() {
if (this.agency) { // <-- IMPORTANT!
//noinspection TypeScriptUnresolvedFunction
$('.selectpicker').selectpicker();
}
}
Вот и все! Возможно, эта информация вам тоже полезна;)
Я думаю, что это проблема синхронизации, окно выбора отображается, прежде чем наблюдаемые доставляют данные? –